el-form表单clearValidate移除校验和移除某个字段的校验
移除表单校验使用clearValidate
方法,实现方式如下:
移除整个表单校验:
this.$refs['form'].clearValidate(); //移除整个表单的校验
移除表单中某个字段的校验:
this.$refs['form'].clearValidate(['字段']); //移除表单某个字段的校验
例:
<el-form ref="form" :rule='rules'>
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" />
</el-form-item>
<el-form-item label="年龄" prop="age">
<el-input v-model="form.age" />
</el-form-item>
<el-form-item label="性别" prop="gender">
<el-input v-model="form.gender" />
</el-form-item>
</el-form>
//根据需求移除相应字段的校验
if('判断条件'){
this.$refs['form'].clearValidate(['name']); //移除姓名字段的校验
this.$refs['form'].clearValidate(['name','age']); //移除姓名与年龄字段的校验
this.$refs['form'].clearValidate(); //移除整个form表单的校验
}
补充一下:
在调用 clearValidate 之前,可以先判断表单项是否设置了校验规则来避免报错
if (this.$refs.form.validate) {
this.$refs.form.clearValidate();
}