在項目中現在要用到,暫存、保存兩種形式,但是暫存的要求是,你填了哪項,哪項需要校驗,而保存需要全部校驗。
這樣就存在了問題,需要用到兩套不同的校驗形式,舉例:
暫存校驗:
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毫秒的延遲,再做提交的操作,能保證校驗的成功。