如何在ExtJS的文本字段中最多允许3位小数

gz5pxeao  于 2022-09-26  发布在  其他
关注(0)|答案(1)|浏览(210)

对于一个文本字段,我只需要允许它最多3个小数位。
允许的输入:123、123.1、123.34、123.458,但不应允许123.4563。
我试了很多文章,但只找到了小数点后两位。

7fyelxc5

7fyelxc51#

我不知道你为什么用textfield作为数字字段。无论如何,这是文本字段和数字字段的小提琴代码,小数精度为3。

Ext.application({
    name: 'Fiddle',

    launch: function () {
        Ext.create('Ext.form.Panel', {
            title: "Form Panel",
            width: 300,
            renderTo: Ext.getBody(),
            layout: 'form',
            items: [{
                xtype: 'numberfield',
                name: 'bottles',
                fieldLabel: 'Number Field',
                decimalPrecision: 3 // This will allow only 3 decimal places.. 
            }, {
                xtype: 'textfield',
                name: 'name',
                fieldLabel: 'Text Field',
                maskRe: /[0-9.-]/,
                //regex: /^-?[0-9]*(\.[0-9]{1,3})?$/, // Without error message
                validator: function (v) { // With error Message
                    return /^-?[0-9]*(\.[0-9]{1,3})?$/.test(v) ? true : 'Max. decimal precision is 3';
                },
            }],
            buttons: [{
                text: "Show Form Values",
                handler: function() {
                    console.log(this.up('form').getValues());
                }
            }]
        });
    }
});

相关问题