验证 NumberField 的值,而不是长度

Validate NumberField's value, not length

Model:

Ext.define('Web.model.Server', {
    extend : 'Ext.data.Model',
    idProperty : 'guid',

    fields : [ {
        name : 'guid',
        type : 'string'
    },/* ... */ {
        name : 'timeout',
        type : 'integer'
    }],

    validators : {
        timeout : {
            type : 'length',
            min : 10,
            max : 60
        }
    }
});

每当我将 timeout 设置为任何值(例如 40)并调用 .isValid() 时,它会 returns false 并显示 timeout: Length must be between 10 and 60.换句话说,它将值的长度验证为 String,而不是数字本身的值。

我在文档中找不到任何关于验证数字值的内容:5.1.1 ext validator docs 没有详细说明。

如何验证数字的值而不是长度?

尝试使用 range validator:

validators: {
    timeout: {
        type: 'range',
        min: 10,
        max: 60
    }
}