本文共 452 字,大约阅读时间需要 1 分钟。
按照官方例子调用validate方法:
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校验时,只会校验该表单下的属性是否符合相应的规则。
转载地址:http://lomg.baihongyu.com/