You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 01:57:02