Проверьте значение NumberField, а не длину

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(), это возвращает false и говорит timeout: Length must be between 10 and 60, Другими словами, он проверяет длину значения как String, а не значение самого числа.

Я не могу найти ничего в документации о проверке числовых значений: документы валидатора 5.1.1 ext не написаны подробно.

Как я могу проверить значение числа, а не его длины?

1 ответ

Решение

Попробуйте использовать валидатор диапазона:

validators: {
    timeout: {
        type: 'range',
        min: 10,
        max: 60
    }
}
Другие вопросы по тегам