如何防止在extjs数字字段中键入负值

如何防止在extjs数字字段中键入负值,extjs,extjs5,Extjs,Extjs5,这里我使用的是ExtJS5.1.2 我必须防止在数字字段中输入负值。 通过对“minValue”属性“Down”使用“0”值,键和鼠标滚轮不允许出现负值 但用户可以在字段中键入负值 是否有任何配置可防止在数字字段中输入负值 示例代码: Ext.define('MyApp.view.field.MyNUmber', { extend:'Ext.form.field.Number', xtype: 'myNumberField', fieldLabel: 'My NUmmbe

这里我使用的是ExtJS5.1.2

我必须防止在数字字段中输入负值。 通过对“minValue”属性“Down”使用“0”值,键和鼠标滚轮不允许出现负值

但用户可以在字段中键入负值

是否有任何配置可防止在数字字段中输入负值

示例代码:

Ext.define('MyApp.view.field.MyNUmber', {
    extend:'Ext.form.field.Number',
    xtype: 'myNumberField',
    fieldLabel: 'My NUmmber',  
    allowBlank: true,
    allowDecimals: true,
    decimalPrecision: 2,
    minValue: 0,
    step: 0.25
});

不确定这是否是您正在寻找的,但您可以在数字字段上设置一个侦听器,并在输入的值小于0时更改该字段的值:

 listeners: {
     change: function(field, value) {
         value = parseInt(value, 10);
         if (value < 0) {
             field.setValue(0);
         }
     }
 }
侦听器:{
更改:函数(字段、值){
value=parseInt(值,10);
如果(值<0){
字段设置值(0);
}
}
}

不确定这是否是您要查找的内容,但如果输入的值小于0,您可以在数字字段上设置侦听器并更改字段的值:

 listeners: {
     change: function(field, value) {
         value = parseInt(value, 10);
         if (value < 0) {
             field.setValue(0);
         }
     }
 }
侦听器:{
更改:函数(字段、值){
value=parseInt(值,10);
如果(值<0){
字段设置值(0);
}
}
}
在过去,我用过。我意识到这并不是真的为了这个(它可能是一个bug),但它似乎做到了这一点。。。注意:如果取下
minValue:0
,则可以输入负数

Ext.application({
    name : 'Fiddle',

    launch : function() {
        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: 99,
                maxValue: 99,
                minValue: 0,
                allowExponential: false,
                allowDecimals: true
            }],
            buttons: [{
                text: 'Take one down, pass it around',
                handler: function() {
                    this.up('form').down('[name=bottles]').spinDown();
                }
            }]
        });
    }
});
过去,我用过。我意识到这并不是真的为了这个(它可能是一个bug),但它似乎做到了这一点。。。注意:如果取下
minValue:0
,则可以输入负数

Ext.application({
    name : 'Fiddle',

    launch : function() {
        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: 99,
                maxValue: 99,
                minValue: 0,
                allowExponential: false,
                allowDecimals: true
            }],
            buttons: [{
                text: 'Take one down, pass it around',
                handler: function() {
                    this.up('form').down('[name=bottles]').spinDown();
                }
            }]
        });
    }
});

有没有我们可以帮助您的代码示例?有没有我们可以帮助您的代码示例?