this.$refs[formName].validate((valid) =>{} 无效,vue验证表单无效

更新日期: 2022-08-31阅读: 982标签: date

今天遇到一个this.$refs[formName].validate((valid) =>{} 无效的问题,当验证通过的时候点确定按钮没有报错,也没有任何反应。


解决

每一个 if 都要对应了一个 else 并且每个条件 下 都要 callback 确保 在不同情况下 都会执行callback所以要在验证时加上else的callback()。

// 校验标题
validateTitle (rule, value, callback) {
if (!value) {
callback(new Error('请输入专题'))
} else {
if (this.parentList.specialName !== undefined) {
this.parentList.forEach(ele => {
if (ele.specialName === value) {
callback(new Error('专题不能和父级重名'))
} else {
callback()
}
})
callback()
} else {
callback()
}
}
},


总结

1。首先就是在自定义校验规则的时候,if写完后没有写callback()。

2。打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form,查看绑定的元素是否写对。

3。如果前两个都没有问题,那么就是你的自定义的校验有问题。

链接: https://fly63.com/article/detial/12060

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!