我在 ExtJS Form 中使用 numberField 并只想输入 0-99 范围内的正数,并且它应该只接受 2 个字符(且不超过 2 个)。
{
xtype:"textfield",
allowNegative: false,
allowDecimals: false,
minValue: 0,
maxValue: 99,
maxLength: 2
}
在上面的代码中给出一个错误,但它接受超过 2 个字符。
我也在下面尝试过,但问题是相同的:
{
xtype:"textfield",
regex: /^\d{0,2}$/,
regexText: "<b>Error</b></br>Invalid Number entered.",
validator: function(v) {
return /^\d{0,2}$/.test(v)?true:"Invalid Number";
}
}
如何限制输入超过2个字符?
如果您使用的是版本 3,文本域 http://dev.sencha.com/deploy/ext-3.4.0/docs/?class=Ext.form.TextField's maxLength
文档描述了使用autoCreate
属性来说明最大长度(文档示例显示了 NumberField,但 TextField 类也支持它):
maxLength : Number 验证允许的最大输入字段长度
(默认为 Number.MAX_VALUE)。此行为旨在提供
通过提高可用性以允许粘贴,向用户提供即时反馈
以及编辑或改写和回溯。限制最大
使用 autoCreate 可以在字段中输入的字符数
将您想要的任何属性添加到字段中,例如:
var myField =
new Ext.form.NumberField({
id: 'mobile',
anchor:'90%',
fieldLabel: 'Mobile',
maxLength: 16, // for validation
autoCreate: {tag: 'input', type: 'text', size: '20', autocomplete:
'off', maxlength: '10'} });
使用版本 4,TextField 具有enforceMaxLength http://docs.sencha.com/ext-js/4-0/#/api/Ext.form.field.Text-cfg-enforceMaxLength财产。
如果您设置使用正则表达式,两个版本都支持maskRe
属性,尽管我认为这不会阻止粘贴无效值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)