Vue.js 使用vuelidate时设置默认v型

Vue.js 使用vuelidate时设置默认v型,vue.js,vuelidate,Vue.js,Vuelidate,所以我得到了这个输入,但我想将来自computed state的电子邮件设置为v-model。我已经在使用vuelidate的$v.emaill.$model,有没有办法设置默认的v-model html input.form控件(v-model=“$v.emaill.$model”,type=“text”) 验证:{ 电邮:{ 电子邮件, 必修的, isUnique(值){ 如果(u.isEmpty(值)){ 返回false; } if(this.profile.email===值){ 返回t

所以我得到了这个输入,但我想将来自computed state的电子邮件设置为v-model。我已经在使用vuelidate的$v.emaill.$model,有没有办法设置默认的v-model

html
input.form控件(v-model=“$v.emaill.$model”,type=“text”)

验证:{
电邮:{
电子邮件,
必修的,
isUnique(值){
如果(u.isEmpty(值)){
返回false;
}
if(this.profile.email===值){
返回true;
}否则{
返回api.auth.emailtake({
电子邮件:this.emaill,
});
}
},

如果我理解正确,我认为您可能没有正确使用vuelidate。您不应该使用$v作为模型,它只包含验证的当前错误状态和一些方法(例如$touch),必要时可以调用这些方法手动启动验证

相反,您会这样做:

<input v-model="email" type="text">

...

<script>
export default {
  validations: {
    emaill: {
      email,
      required,
      isUnique(value) {
        if (_.isEmpty(value)) {
          return false;
        }
        if (this.profile.email === value) {
          return true;
        } else {
          return api.auth.emailTaken({
            email: this.emaill,
          });
        }
      },
    },
  },
  data() {
    return {
      emaill: "",
    };
  },
};

...
导出默认值{
验证:{
电邮:{
电子邮件,
必修的,
isUnique(值){
如果(u.isEmpty(值)){
返回false;
}
if(this.profile.email===值){
返回true;
}否则{
返回api.auth.emailtake({
电子邮件:this.emaill,
});
}
},
},
},
数据(){
返回{
电邮:“,
};
},
};
Vuelidate监视数据中的“emaill”字段。之后,您可以通过访问$v.emaill来检查验证并显示确切的错误