我觉得我现在已经快要使用Vee Validate 3.0了,但是在运行时我不断收到以下警告:
Property or method "required" is not defined on the instance but referenced during render
我正在使用包含管道的正则表达式验证,因此我需要作为对象而不是字符串发送。
这是我的代码:
<ValidationProvider :rules="{ required, regex: /^(0[1-9]|1[0-2])\/\d{4}$/ }" name="exp" v-slot="{ errors }">
<input name="exp" v-model="payment.exp" placeholder="Expiry MM/YYYY" class="form-control"/>
<span class="warning">{{ errors[0] }}</span>
</ValidationProvider>
所有内容编译时都不会发出警告,并且验证可以在运行时正常运行,但是控制台上的警告是什么?
任何人都知道该怎么做才能删除它?
答案 0 :(得分:0)
为简洁起见,我将省略正则表达式。这不是vee验证问题,您将规则prop绑定到对象:{ required }
现在required
的计算结果是什么?由于您没有在组件中的任何地方定义required
,因此您将得到该错误,就像模板中任何未定义的反应式道具一样。
我假设您希望输入您的字段,所以您需要为required
键提供一个值:
<ValidationProvider :rules="{ required: true }" name="exp" v-slot="{ errors }">
<input name="exp" v-model="payment.exp" placeholder="Expiry MM/YYYY" class="form-control"/>
<span class="warning">{{ errors[0] }}</span>
</ValidationProvider>