这里我使用的是ExtJS 5.1.2。
我必须阻止在数字字段中输入负值。 通过对“minValue”属性使用“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 :(得分:1)
不确定这是否是您正在寻找的,但您可以在数字字段上设置一个监听器,并在输入的值小于0时更改字段的值:
listeners: {
change: function(field, value) {
value = parseInt(value, 10);
if (value < 0) {
field.setValue(0);
}
}
}
答案 1 :(得分:1)
过去,我使用过allowExponential: false
... example。我意识到它并不是真正意义上的(它可能是一个错误),但它似乎可以解决问题......请注意,如果你取消function in_array_r($value, &$array) {
foreach ($array as &$v) {
if (is_array($v) && in_array_r($value, $v) || $v === $value)
return true;
}
return false;
}
$myarray = [ 1, 2, 3, [4, 5, 6, ['title' => 'Something (12) Pieces'], 7, 8]];
var_dump(in_array_r('Something (12) Pieces', $myarray));
,那么你可以输入负数。
minValue: 0