Geo*_*off 7 vue-validator vuejs2
我正在使用Vue验证
我的vuevlidate中有以下内容
validations: {
user_form: {
email: {required,email, isUnique(value) {
// standalone validator ideally should not assume a field is required
if (value === '') return true;
// simulate async call, fail for all logins with even length
return new Promise((resolve, reject) => {
this.$http.post("v1/user-management/users/email-registeredi",{email:value}).then((res)=>{
console.log("res is ", res);
resolve(true);
},(err)=>{
reject(false)
})
})
}},
role: {required},
password: {required}
}
},
Run Code Online (Sandbox Code Playgroud)
上面创建了一个无限循环的http请求,尤其是当它收到错误时
我哪里错了
如果 vue validate 不能很好地处理拒绝承诺并创建无限循环。对于 Vue validate 的isUnique,
您可以尝试使用 try 和 catch在错误时返回,
类似这样。async awaitfalse
validations: {
user_form: {
email: {
required,
email,
async isUnique (value) {
if (value === '') return true
try{
const response = await this.$http.post("v1/user-management/users/email-registeredi",{email:value})
return true;
}
catch(e){
return false;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)