vue + element ui 的form表单中动态rules的设置
在项目中现在要用到,暂存、保存两种形式,但是暂存的要求是,你填了哪项,哪项需要校验,而保存需要全部校验。
这样就存在了问题,需要用到两套不同的校验形式,举例:
暂存校验:
temprules:{ name:[{min:3,message:'最小长度为3个字符',trigger: 'blur'}] }
不用加 required: true,
保存校验:
saverules:{ name:[{required: true,message:'不能为空',trigger: 'blur'}] }
以上为校验规则
点击暂存:
this.rules= Object.assign({},this.$options.data().temprules)
setTimedout(() =>{
this.$refs[formName].validate((valid) => {
})
},100)
点击保存:
this.rules= Object.assign({},this.$options.data().saverules)
setTimedout(() =>{
this.$refs[formName].validate((valid) => {
})
},100)
然后做一个100毫秒的延迟,再做提交的操作,能保证校验的成功。