Vee Validate 3.0 - 属性 或方法 "required" 未在实例上定义但在渲染期间被引用
Vee Validate 3.0 - Property or method "required" is not defined on the instance but referenced during render
我觉得我现在几乎已经掌握了 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>
一切都在没有警告的情况下编译,并且验证在 运行 时正常工作,但是控制台上的警告是什么?
有人知道我需要做什么才能删除它吗?
为简洁起见,我将省略正则表达式。这不是 vee-validate 问题,您正在将规则道具绑定到一个对象:{ 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>
我觉得我现在几乎已经掌握了 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>
一切都在没有警告的情况下编译,并且验证在 运行 时正常工作,但是控制台上的警告是什么?
有人知道我需要做什么才能删除它吗?
为简洁起见,我将省略正则表达式。这不是 vee-validate 问题,您正在将规则道具绑定到一个对象:{ 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>