ElementUI表单校验的validate方法返回参数始终为true的问题

问题描述

按照官方例子调用validate方法:
ElementUI表单校验的validate方法返回参数始终为true的问题_第1张图片

this.$refs.registerForm.validate((valid) => {
     
        console.log(valid)
        if (valid) {
     
          // this.registerNext = true
        } else {
     
          return false
        }
      })

发现不管表单中内容是否检验通过,valid参数的值始终为true

原因及解决方法

通过查阅文档发现出现这个问题的原因是对于同一个校验规则rules,我同时在多个同名表单(即ref名相同)中使用了该规则。虽然rules能够对每个el-form里的表单进行校验,但返回回来的valid只代表最后一个el-form的状态。

因此解决方案即为将用了同一rules的多个表单的ref属性命名为不同的即可,在调用validate校验时,只会校验该表单下的属性是否符合相应的规则。

你可能感兴趣的:(Vue,validate,vue,elementui)