我正在使用 Vue,并使用Vuelidate进行验证。
当使用执行 AJAX 调用的自定义验证器时,它会在页面加载时多次触发,甚至在用户交互之前(vuelidate's $touch
)。
在首次加载这些多次调用后,验证工作正常。(我使用 vue 对输入更改使用此验证@change
)
我尝试设置一个标志isMounted
以仅在加载整个实例后才在自定义验证器中执行验证,但没有成功。
代码
验证器(仅用于调试,用于测试):
validations() {
return {
myFieldToValidate(field) {
test_validation(value) {
console.log('test validation fired!', Math.random());
return true;
}
}
}
}
然后,当我重新加载页面时,它会触发多次:
我想让验证“触发”仅基于我的事件(输入更改),而不是在页面加载时多次。如何做到这一点?