【问题标题】:How to use validate in vue如何在 vue 中使用验证
【发布时间】:2020-04-18 06:56:58
【问题描述】:

我在表单中使用了 validate 指令来验证内容。

<input type="text" v-model="address" name="address" ref="address" v-validate="{ regex:/^([0-9]+|[0-9]+,[0-9]{0,2}?)$/ }" data-vv-validate-on="blur">

但它返回如下错误:

vue.runtime.esm.js?2b0e:619 [Vue warn]: Failed to resolve directive: validate

如何解决?

【问题讨论】:

  • 你在导入vee-validate后是否包含Vue.use(VeeValidate);
  • 要使用 v-validate,我是否必须导入 VeeValidate?要不然是啥?请教我。

标签: vue.js vee-validate


【解决方案1】:

docs中提到的:

我们可以通过Vue.use() 全局方法使用VeeValidate 插件,例如:

import Vue from 'vue';
import VeeValidate from 'vee-validate';

Vue.use(VeeValidate);

或直接包含脚本,如:

<script src="path/to/vue.js"></script>
<script src="path/to/vee-validate.js"></script>
<script>
    Vue.use(VeeValidate); // good to go.
</script>

演示:

Vue.use(VeeValidate);
new Vue({
  el: "#app",
  data: {
    address: ''
  },
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.min.js"></script>
<script src="https://unpkg.com/vee-validate@<3.0.0"></script>
<div id="app">
  <form>
    <span>Enter some text, then remove focus from textbox to validate</span><br/>
    <input type="text" v-model="address" name="address" ref="address" v-validate="{ regex:/^([0-9]+|[0-9]+,[0-9]{0,2}?)$/ }" data-vv-validate-on="blur">
    
    <br/>
    <span>{{ errors.first('address') }}</span>
  </form>
</div>

【讨论】:

  • 我试过了,但它对我不起作用。作为参考,我正在开发 nuxt2.0.0。
  • 请为此使用codesandbox.io 创建一个small demo 以显示正在发生的问题。
  • 编辑后,需要先保存修改,然后会生成一个新的链接。在此处粘贴该链接。
  • 你需要像this一样添加vee-validate 另外,在index.vue中你使用的是v-model="address",但是你没有为它声明任何数据..添加数据也像@987654335 @
猜你喜欢
  • 1970-01-01
  • 2018-11-27
  • 2020-11-26
  • 2020-11-21
  • 2021-05-14
  • 2020-01-31
  • 1970-01-01
  • 2021-09-14
  • 2017-08-14
相关资源
最近更新 更多