ExtJS 6.02如何设置可选但附带校验规则的Model字段?
ExtJS 6.0.2 可选字段带校验配置方案
结论
完全可以实现你描述的需求,ExtJS 6.0.2 内置的校验规则原生支持allowEmpty配置项,开启后字段为空(值为undefined/null/空字符串)时会自动跳过校验,只有存在非空值时才会执行对应规则校验。
调整后的代码示例
你只需要在email字段的校验规则中新增allowEmpty: true配置即可:
Ext.define('my_model', { extend : 'Ext.data.Model', identifier: { type : 'sequential', seed : 1, increment : 1 }, fields: [{ name : 'date', type : 'date' }, { name : 'msg', type : 'string', }, { name : 'email', type : 'string', }], validators: { date: { type: 'presence' }, msg: { type : 'length', min : 2 }, email: { type : 'email', allowEmpty: true // 新增该行配置实现空值跳过校验 } } });
补充说明
该配置对所有ExtJS内置校验器通用,如果你后续有长度、数字范围、自定义格式等同类「可选字段带校验」的需求,都可以通过添加该配置实现。
内容的提问来源于stack exchange,提问作者user5507535
相关产品推荐
相关产品推荐

