我要求textfield/numberfield
存在的地方应该只允许0 to 99999.99
之间的值,即5位数和2位小数。
应限制用户使用任何无效的号码。
我对正则表达式不好但会解决我的问题吗? 任何解决此问题的指针都将受到赞赏。
我需要限制用户输入超过5位数的任何值。在5位数后,只能放置一个小数,超过2位
有什么建议吗?
答案 0 :(得分:1)
Ext.create('Ext.form.Panel', {
title: 'On The Wall',
width: 300,
bodyPadding: 10,
renderTo: Ext.getBody(),
items: [{
xtype: 'numberfield',
anchor: '100%',
name: 'bottles',
fieldLabel: 'Bottles of Beer',
value: 0,
maxValue: 99999.99,
minValue: 0
}],
buttons: [{
text: 'Take one down, pass it around',
handler: function() {
this.up('form').down('[name=bottles]').spinDown();
}
}]
});
从:http://docs-origin.sencha.com/extjs/4.0.7/#!/api/Ext.form.field.Number
答案 1 :(得分:1)
您需要添加自定义验证类型VTypes。
addCustomVtypes : function() {
var mRegex = /^\d{0,5}(\.\d{0,2})?$/;
Ext.apply(Ext.form.field.VTypes, {
mRegex : function(val, field) {
return ralphaNumHyphen.test(val);
},
mRegexText : 'Invalid input. Message here.',
mRegexMask : /\d{0,5}(\.\d{0,2})?$/i
});
}
您可以在应用程序启动时调用它。
然后,在文本字段中添加vtype: mRegex
。