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("所有表单验证通过"); } });
}