elementui多表单验证
参考:https://blog.csdn.net/qq_42730111/article/details/123050220
data
// 多个表单验证 resultArr: [], formArr: ["form", "form1"], formvalidnum:0,
验证方法
// 验证数组 checkForm(formName) { let _self = this; _self.resultArr = []; let result = new Promise(function (resolve) { _self.$refs[formName].validate((valid) => { if (valid) { resolve(valid);
_self.formvalidnum += 1;
} else { _self.$confirm("请完善信息", "警告", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }); } }); }).catch((error) => { console.log("error", error); }); _self.resultArr.push(result); //push 得到promise的结果 },
/** 提交按钮 */ submitForm() {
let _self = this;
_self.formvalidnum = 0;
_self.formArr.forEach((item) => {
_self.checkForm(item);
});
Promise.all(_self.resultArr).then(function () {
//通过了
if (_self.form.orderName && _self.form.plandetailList.length == 0) {
_self.$confirm("请选择有计划明细的订单", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
});
return false;
}
if(_self.formvalidnum == _self.formArr.length){//只有一个验证通过也来
console.log("所有表单验证通过");
}
});
}