如何在数字字段上只允许2位小数

时间:2018-02-28 13:31:08

标签: javascript extjs

我想限制用户可以在输入中写入的小数位数。 当我写850,9560的例子时,该字段没有显示错误,这是我的字段:

            {
                xtype: 'numberfield',
                fieldLabel: 'My field label',
                name: 'montant_sm',
                id: 'montant_sm_',
                decimalPrecision: 2,
                maxValue: 999.99,
                decimalSeparator: ','
            }

My field without error for 880,9794 value

My field with max number exceeded displays correct error

你知道1如果1可以设置一个错误,当小数大于2时,使用sencha? 最好的问候。

2 个答案:

答案 0 :(得分:1)

如果将decimalPrecision设置为2,则在离开该字段时该值将自动舍入。

如果不是这样,您必须编写一个自定义验证器,您可以在其中检查值,return true是否被接受,或者如果不是,则会出现一些错误消息。

E.g。

validator: function(v) {
    var commaPos = v.indexOf(',')+1,
        strLen = v.length;
    console.log(commaPos);
    console.log(strLen);
    if(commaPos > 0 && commaPos < strLen-2) return "Maximum allowed precision: two digits!";
    return true;
}

https://fiddle.sencha.com/#view/editor&fiddle/2drt

答案 1 :(得分:0)

使用php:

if ($amount!=round($amount,2)) $error = true;