vuejs2 - vee-validate 不能与 bootstrap-vue 一起使用
问题描述
我正在尝试使用 vee-validate 通过 bootstrap-vue 进行表单验证,但无法正常工作。基本上,我想做:
<b-form-input v-model="emailText"
placeholder="Enter email"
v-validate="'required|email'"
name="email"
type="text">
<b-row>
<span>{{ errors.first('email') }}</span>
</b-row>
</b-form-input>
但是当我在字段中输入非电子邮件地址时,我什么也看不到。但是,如果我改变:
b-form-input
至input
然后一切正常。这种行为有解决方法吗?任何帮助将不胜感激。
解决方案
您已将错误消息放在<b-form-input>
没有内部插槽的 中,因此不会呈现错误消息。如果您将它们移到输入之后,它应该可以解决您的问题:
<b-form-input v-model="emailText"
placeholder="Enter email"
v-validate="'required|email'"
name="email"
type="text">
</b-form-input>
<b-row>
<span>{{ errors.first('email') }}</span>
</b-row>
您还可以使用 Bootstrap-Vuestate
和周围的invalid-feedback
属性来显示验证错误,并具有更好的可访问性。所有这些都在这个codepen中得到了展示<b-form-input>
<b-form-group>
推荐阅读
- transactions - 如何在不完全同步的情况下仅从区块链接收有关特定地址集的交易?
- apache-flink - 如何在不停机的情况下部署新工作
- clickhouse - Clickhouse:按与表存储相同的顺序排列内存耗尽
- c++ - 如何使用 boost spirit x3 注册错误处理程序?
- javascript - 即使在添加超时后,ajax 服务器调用也会超时
- python - 使用 def 赋值,但它不起作用
- javascript - 键盘布局的JS颜色变化
- json - 如何将 json 文件导入到带有树引用的 excel 中?
- java - 在android中以编程方式解压缩具有阿拉伯名称的文件
- python-3.x - Scikit Learn 为 70 万个具有 2 列(纬度和经度)的数据点实施 DBSCAN 消耗 128GB+ RAM。如何解决这个内存问题?