vue.js - Vee Validate 3.0 - 未在实例上定义“必需”属性或方法,但在渲染期间引用
问题描述
我觉得我现在几乎已经掌握了 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 问题,您正在将 rules 属性绑定到一个对象:{ 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>
推荐阅读
- node.js - 如何处理可能导致死锁的承诺
- swift - Swift 解释器抱怨类型转换
- docker - 如何查看 docker 网络中的所有域
- winapi - 如何将 IFileOperation 与相对路径和绝对路径一起使用?
- c++ - 通过引用与按值存储 shared_ptr?
- google-apps-script - 谷歌应用脚本:将活动幻灯片(谷歌幻灯片)导出为 PDF
- python - 如何在循环中重新映射/重新定义 python 函数列表?
- android - 在没有 WiFi 和 USB 的情况下在后台运行 adb logcat
- html - 如何在页面顶部插入 DIV 元素并向下滑动具有绝对 top:0 css 样式的其他元素
- node.js - MongoDB条件查找