我该如何强制Vuelidate重新检查验证?
我的使用场景是,我有一个表单字段,用户可以输入远程目录的名称,我有一个Vuelidate验证,它会与服务器检查该目录是否存在。
validations: {
directory: {
exists(value) {
return checkExistsOnServer(value).then(result => result.directoryExists)
}
}
}
当目录字段被更新时,这个功能按照预期工作。然而,应用程序中的其他操作可能会影响这个目录是否存在于服务器上,因此我需要一种方法来手动强制重新运行此检查,以响应页面上的各种事件。如何在不更改“directory”字段的值的情况下强制重新运行这个"exists"检查呢?
从文档中得知,我认为调用
this.$v.directory.$touch()
可以做到,但似乎并不是这样。我也尝试在$touch()
之前调用$reset()
。我创建了这个JSFiddle,展示了我当前的不成功尝试。