首页 > 解决方案 > 无法读取未定义的属性“__isVuelidateAsyncVm”

问题描述

这是我有代码和框的代码我这里有一个带有验证的表单和“计算”按钮,该按钮在所有字段都有效之前被禁用。但由于某种原因,我得到了错误 Cannot read property '__isVuelidateAsyncVm' of undefined

标签: javascriptvue.jsvuetify.jsvuelidate

解决方案


首先是一些评论,很高兴您提供了一个沙箱,但是您的问题本身应该包含相关代码以重现该问题。如果(何时)链接失效,这个问题将变得毫无用处。

进行一些调试以实际查找导致此错误的字段。通过逐个消除字段,我注意到导致您的问题的是性别字段。因此,仔细查看inArray您的自定义验证器,我注意到您没有返回任何内容,这导致验证失败。添加return到您的inArray

const inArray = (value, vm) => {
  // add return!
  return vm.items.some(gender => value.indexOf(gender) !== -1);
};

PS,作为提示,尝试进行一些调试以缩小问题范围,您可能已经自己解决了这个问题:)

您的问题的其余相关代码:

<v-select
   v-model="user.gender.value"
   :items="user.gender.items"
   label="Gender"
   :solo="true"
   :error-messages="userGenderErrors"
   append-icon
></v-select>

脚本:

validations: {
  user: {
    gender: {
      value: {
        required,
        inArray
      }
    },
  }
},

固定沙盒


推荐阅读