ExtJS模型验证:日期(如何)

时间:2011-06-16 18:05:57

标签: validation model extjs4

将验证添加到模型中的日期字段的最佳方法是什么

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 个答案:

答案 0 :(得分:2)

将验证方法添加到Ext.data.validations(singleton),

它将在Ext.data.Model.validate()中使用。

看一下src