async-validator icon indicating copy to clipboard operation
async-validator copied to clipboard

校验规则 触发 trigger 可以自定义吗

Open yangfan0095 opened this issue 7 years ago • 7 comments

请问一下你们这个 rule 下面的 触发trigger 可以自定义事件吗 ,我是用的element-ui 的文件上传组件, 想对上传后返回的参数做一个校验。看了你们的源码 貌似没有看到自定义 trigger 的地方。 rules: { location: [ { required: true, type:"array", message: '请选择注册所在地', trigger: 'blur' }, { type:"array", message: '参数类型错误'} ], checked: [ { validator: checkbox, message: '请勾选 已阅读《契约锁服务协议》', trigger: 'blur' } ], uploadFileKey:[ { required: true, message: "请上传授权委托书" } ]

yangfan0095 avatar Aug 03 '17 02:08 yangfan0095

同问

chenyanfa729 avatar Sep 11 '17 06:09 chenyanfa729

同问??

VYuLinLin avatar Sep 25 '17 09:09 VYuLinLin

+1啊,没人回答?

jimyuan avatar Sep 28 '17 06:09 jimyuan

同求,如果没有支持自定义,就要很麻烦的hack了

anchorgoogle avatar Oct 18 '17 05:10 anchorgoogle

+1 同求啊,迫切需要次功能

aprilxiaomei avatar Dec 05 '17 08:12 aprilxiaomei

这个trigger其实并不是async-validator文档中rule的属性,只是ui组件框架Form组件里自己定义的一个属性而已 所以像iview的Form组件里头的什么tigger:'blur/change'都是他自己定义并且触发的,但他并没有说出来(所以说这是iview文档的锅@iview) 不过也不是没有解决办法,其实像iview的Form组件,是有针对某个表单字段进行校验的方法,Form.validateField(),自己调一下触发即可 好好看文档吧...

bo2337285 avatar Sep 14 '18 08:09 bo2337285

自己定义一个就好

import { RuleItem } from "async-validator/dist-types";

export type triggerType = "blur" | "change";
interface RuleItemExtends {
  trigger: triggerType;
}
export type RuleItemExt = RuleItemExtends & RuleItem;

export interface Rules {
  [field: string]: RuleItemExt | RuleItemExt[];
}

···

gooqiao avatar Mar 26 '20 03:03 gooqiao