Проверки модели ExtJS: даты (как выполнить) - PullRequest
1 голос
/ 16 июня 2011

Как лучше всего добавить проверку в поле даты в модели

Ext.define('User', {
    extend: 'Ext.data.Model',
    fields: [
        {name: 'name',     type: 'string'},
        {name: 'age',      type: 'int'},
        {name: 'phone',    type: 'string'},
        {name: 'gender',   type: 'string'},
        {name: 'username', type: 'string'},
        {name: 'alive',    type: 'boolean', defaultValue: true}
    ],

    validations: [
        {type: 'presence',  field: 'age'},
        {type: 'length',    field: 'name',     min: 2},
        {type: 'inclusion', field: 'gender',   list: ['Male', 'Female']},
        {type: 'exclusion', field: 'username', list: ['Admin', 'Operator']},
        {type: 'format',    field: 'username', matcher: /([a-z]+)[0-9]{2,3}/}
    ]
});

Допустим, приведенный выше код содержал поле 'dob' для даты рождения. Как мне добавить валидацию для него?

Я предполагаю, что я бы использовал:

{type: 'format', field: 'dob', matcher: /([a-z]+)[0-9]{2,3}/}

но будет использовать регулярное выражение, предназначенное для проверки даты. Есть лучший способ сделать это? Я заметил, что поля даты в формах используют свои собственные методы проверки для выделения поля даты. Есть ли что-то подобное для полей даты в моделях?

1 Ответ

2 голосов
/ 18 июня 2011

добавить метод проверки в Ext.data.validations (singleton),

, и он будет использоваться в Ext.data.Model.validate ().

взглянуть на src

...