element中打开对话框表单验证就已经存在的解决办法

打开对话框表单验证已存在

原因可能是打开对话框的时候会给表单赋值,赋值的时候为空值,这个时候就触发了一次校验,所以打开对话框的时候表单校验就已经存在了
解决办法:
在对话框打开或者关闭的时候使用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就可以了

原文地址:https://www.cnblogs.com/my466879168/p/12450489.html