2016-01-28 2 views
0

Здесь я использую ExtJS 5.1.2.Как предотвратить ввод отрицательных значений в поле номера extjs

Я должен предотвратить ввод отрицательных значений в поле чисел. С помощью значения «0» для свойства «minValue» клавиша «Вниз» и колесико мыши не допускают отрицательных значений.

Но пользователь может ввести отрицательные значения в поле.

Есть ли какой-либо конфиг, чтобы предотвратить ввод отрицательного значения в числовое поле?

Пример кода:

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

Любой пример кода, который мы могли бы вам помочь? –

ответ

1

В прошлом я использовал allowExponential: false ... example. Я понимаю, что это не значит для этого (и это может быть ошибка), но, похоже, это трюк ... обратите внимание, если вы снимаете 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(); 
       } 
      }] 
     }); 
    } 
}); 
1

Не уверен, если это то, что вы ищете, но вы можете установить слушателя на числовом поле и изменить значение поля в случае введенное значение меньше, чем 0:

listeners: { 
    change: function(field, value) { 
     value = parseInt(value, 10); 
     if (value < 0) { 
      field.setValue(0); 
     } 
    } 
} 

Sample fiddle here

Смежные вопросы