html
:validate-on-rule-change="false"是否在 rules 属性改变后立即触发一次验证 默认是true,这里改为false即可 以下根据 is_ruku字段进行判断
<el-form :model="drawer_data" :rules="drawer_datarule" :validate-on-rule-change="false"></el-form>
如果想针对其中一条进行正则特殊校验,则需要将校验代码作为函数写在methods内
js
methods:{
// 校验规则:正整数和0
valiaNumber(rule, value, callback) {
if (this.drawer_data.is_ruku == "0") {
if (validataNumber(value)) {
callback();
} else {
callback(new Error("请输入纯数字格式"));
}
}
},
},
computed: {
drawer_datarule() {
return {
name: [{ required: true, message: "请输入", trigger: "blur" }],
specs: [{ required: true, message: "请输入", trigger: "blur" }],
manufacturer: [{ required: this.drawer_data.is_ruku == "1" ? false : true, message: "请输入", trigger: "blur" }],
weight: [{ required: this.drawer_data.is_ruku == "1" ? false : true, validator: this.valiaNumber, trigger: "blur" }],
contract_number: [{ required: this.drawer_data.is_ruku == "1" ? false : true, validator: this.valiaNumber_Zimu, trigger: "blur" }],
original_value: [{ required: this.drawer_data.is_ruku == "1" ? false : true, message: "请输入", trigger: "blur" }],
factory_no: [{ required: this.drawer_data.is_ruku == "1" ? false : true, message: "请输入", trigger: "blur" }],
useful_life: [{ required: this.drawer_data.is_ruku == "1" ? false : true, validator: this.valiaNumber, trigger: "blur" }],
warehouse_number: [{ required: this.drawer_data.is_ruku == "1" ? false : true, message: "请输入", trigger: "blur" }],
check_number: [{ required: this.drawer_data.is_ruku == "1" ? false : true, validator: this.valiaNumber, trigger: "blur" }],
after_sales: [{ required: this.drawer_data.is_ruku == "1" ? false : true, validator: this.valiaPhone, trigger: "blur" }],
overall_size: [{ required: this.drawer_data.is_ruku == "1" ? false : true, message: "请输入", trigger: "blur" }],
unit: [{ required: this.drawer_data.is_ruku == "1" ? false : true, message: "请选择", trigger: "blur" }],
number: [{ required: this.drawer_data.is_ruku == "1" ? false : true, message: "请输入", trigger: "blur" }],
buy_way: [{ required: true, message: "请选择", trigger: "blur" }],
variety_code: [{ required: this.drawer_data.is_ruku == "1" ? false : true, message: "请输入", trigger: "blur" }],
metering_code: [{ required: this.drawer_data.is_ruku == "1" ? false : true, message: "请选择", trigger: "blur" }],
large_category_code: [{ required: true, message: "请选择", trigger: "blur" }],
image: [{ required: this.drawer_data.is_ruku == "1" ? false : true, message: "请上传", trigger: "change" }],
erp_code: [{ required: true, message: "请输入", trigger: "blur" }]
};
}
},