打开对话框表单验证已存在
原因可能是打开对话框的时候会给表单赋值,赋值的时候为空值,这个时候就触发了一次校验,所以打开对话框的时候表单校验就已经存在了
解决办法:
在对话框打开或者关闭的时候使用clearValidate方法移除表单的校验
clearcheck(formName){
if(this.$refs[formName]){
this.$refs[formName].clearValidate()
}
},
这种方法是等数据渲染完的时候清除校验信息
第二种方法是使用element表单中的validate-on-rule-change来判断 这个是 是否在 rules 属性改变后立即触发一次验证 值为布尔值
使用方法:
<el-form ref="addForm" :model="addForm" label-width="120px" :rules="rules" :validate-on-rule-change="false">
加上false就可以了