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