Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs4 如何限制在extjs numberfield中键入连字符?_Extjs4_Extjs4.1 - Fatal编程技术网

Extjs4 如何限制在extjs numberfield中键入连字符?

Extjs4 如何限制在extjs numberfield中键入连字符?,extjs4,extjs4.1,Extjs4,Extjs4.1,目前,extjs numberfield允许在字段中使用除数字以外的“-”连字符。如何限制打字?如果我进行自定义vtype验证,它将仅在我提交该验证后进行检查。您需要创建自定义vtype。文本字段中的任何更改都会调用VType验证,您可以配置允许输入的字符: 查看xxxMask属性 您需要创建自定义VType。文本字段中的任何更改都会调用VType验证,您可以配置允许输入的字符: 查看xxxMask属性 使用AutoTripChars并删除initComponent中允许的连字符。更正了下面

目前,extjs numberfield允许在字段中使用除数字以外的“-”连字符。如何限制打字?如果我进行自定义vtype验证,它将仅在我提交该验证后进行检查。

您需要创建自定义vtype。文本字段中的任何更改都会调用VType验证,您可以配置允许输入的字符:


查看
xxxMask
属性

您需要创建自定义VType。文本字段中的任何更改都会调用VType验证,您可以配置允许输入的字符:


查看
xxxMask
属性

使用AutoTripChars并删除initComponent中允许的连字符。更正了下面的代码

autoStripChars: true,
initComponent: function() {
    var me = this,
        allowed;

    me.callParent();

    me.setMinValue(me.minValue);
    me.setMaxValue(me.maxValue);

    // Build regexes for masking and stripping based on the configured options
    if (me.disableKeyFilter !== true) {
        allowed = me.baseChars + '';
        if (me.allowDecimals) {
            allowed += me.decimalSeparator;
        }
/* removed code
    if (me.minValue < 0) {
            allowed += '-';
        } 
*/
        allowed = Ext.String.escapeRegex(allowed);
        me.maskRe = new RegExp('[' + allowed + ']');
        if (me.autoStripChars) {
            me.stripCharsRe = new RegExp('[^' + allowed + ']', 'gi');
        }
    }
}
AutoTripChars:true,
initComponent:function(){
var me=这个,
允许;
me.callParent();
me.setMinValue(me.minValue);
me.setMaxValue(me.maxValue);
//基于配置的选项构建用于屏蔽和剥离的正则表达式
如果(me.disableKeyFilter!==真){
允许=me.baseChars+“”;
如果(me.allowDecimals){
允许+=me.decimalSeparator;
}
/*删除的代码
如果(me.minValue<0){
允许+='-';
} 
*/
允许=Ext.String.escapeRegex(允许);
me.maskRe=newregexp('['+allowed+']');
if(me.autoStripChars){
me.stripCharsRe=newregexp(“[^”+allowed+”],“gi”);
}
}
}

使用AutoTripChars并删除initComponent中允许的连字符。更正了下面的代码

autoStripChars: true,
initComponent: function() {
    var me = this,
        allowed;

    me.callParent();

    me.setMinValue(me.minValue);
    me.setMaxValue(me.maxValue);

    // Build regexes for masking and stripping based on the configured options
    if (me.disableKeyFilter !== true) {
        allowed = me.baseChars + '';
        if (me.allowDecimals) {
            allowed += me.decimalSeparator;
        }
/* removed code
    if (me.minValue < 0) {
            allowed += '-';
        } 
*/
        allowed = Ext.String.escapeRegex(allowed);
        me.maskRe = new RegExp('[' + allowed + ']');
        if (me.autoStripChars) {
            me.stripCharsRe = new RegExp('[^' + allowed + ']', 'gi');
        }
    }
}
AutoTripChars:true,
initComponent:function(){
var me=这个,
允许;
me.callParent();
me.setMinValue(me.minValue);
me.setMaxValue(me.maxValue);
//基于配置的选项构建用于屏蔽和剥离的正则表达式
如果(me.disableKeyFilter!==真){
允许=me.baseChars+“”;
如果(me.allowDecimals){
允许+=me.decimalSeparator;
}
/*删除的代码
如果(me.minValue<0){
允许+='-';
} 
*/
允许=Ext.String.escapeRegex(允许);
me.maskRe=newregexp('['+allowed+']');
if(me.autoStripChars){
me.stripCharsRe=newregexp(“[^”+allowed+”],“gi”);
}
}
}

您还可以将常规文本字段与maskRe配置一起使用

maskRe: /[0-9]/
stripCharsRe: /-/

您还可以将常规文本字段与maskRe配置一起使用

maskRe: /[0-9]/
stripCharsRe: /-/

与@lagnat的回复类似,它是一个白名单,您可以使用stripCharsRe config将字符列入黑名单

maskRe: /[0-9]/
stripCharsRe: /-/
如果要限制负值

minValue: 0

与@lagnat的回复类似,它是一个白名单,您可以使用stripCharsRe config将字符列入黑名单

maskRe: /[0-9]/
stripCharsRe: /-/
如果要限制负值

minValue: 0