element-ui 多个表单验证

    getFormPromise(form) {
      return new Promise(resolve => {
        form.validate(res => {
          resolve(res);
        })
      })
    },


    async submitForm(formName,type){
      this.saveLoading = true;
      // 组件里的表单
      const mustForm = this.$refs.mustRewardRef.$refs.ruleForm;
      const extraForm = this.$refs.extraRewardRef.$refs.ruleForm;
       // 页面的表单
      const ruleFormly = this.$refs.ruleFormly;

      // 使用Promise.all去校验结果
      Promise.all([ruleFormly,mustForm, extraForm].map(this.getFormPromise)).then(res => {

        // 根据res来判断,哪个表单没有验证通过,做一些相关操作
        for (let [key, value] of res.entries()) {
          if(!value){
          // 其他操作
            this.saveLoading = false;
            return;
          }
        }

        const validateResult = res.every(item => !!item);

        if (validateResult) {
          console.log('表单都校验通过');
            
        } else {
          this.saveLoading = false;
          console.log('表单未校验通过');
        }
      })
    },



你可能感兴趣的:(element-ui 多个表单验证)