Tabulator 4.8 邮箱地址正则校验配置后触发异常报错问题求助
问题原因
Tabulator 4.8的内置regex校验器不支持"regex:/正则规则/"这种冒号分隔的字符串传参格式,你配置的正则前后包裹的/会被Tabulator识别为正则匹配规则的一部分,导致实际生效的正则和你预期不符,所以合法邮箱也会触发校验失败。
解决方法
有两种常用的正确配置方式:
方式1:数组形式传参
将regex校验规则拆为数组,第一项为校验器类型"regex",第二项直接传入正则对象即可:
{ title: "EMAIL_ADDRESS", field: "EMAIL_ADDRESS", hozAlign: "center", width: 148, editor: "input", editable: true, headerFilter: "input", validator: ["required", ["regex", /^[A-Za-z._]{1,}@[A-Za-z]{1,}[.]{1}[A-Za-z.]{2,6}$/]] }
方式2:对象形式传参
语义更清晰,直接指定校验类型和对应的正则参数:
{ title: "EMAIL_ADDRESS", field: "EMAIL_ADDRESS", hozAlign: "center", width: 148, editor: "input", editable: true, headerFilter: "input", validator: [ "required", { type: "regex", regexp: /^[A-Za-z._]{1,}@[A-Za-z]{1,}[.]{1}[A-Za-z.]{2,6}$/ } ] }
如果你需要传入字符串形式的正则,只需去掉前后的/分隔符即可,不需要额外加标识:
validator: ["required", ["regex", "^[A-Za-z._]{1,}@[A-Za-z]{1,}[.]{1}[A-Za-z.]{2,6}$"]]
内容的提问来源于stack exchange,提问作者Nayaz Ahmed
相关产品推荐
相关产品推荐

