项目遇到要表单验证了。VeeValidate是Vue.js的验证库,它有很多验证规则,并支持自定义规则。它基于模板,因此它与HTML5验证API相似并且很熟悉。您可以验证HTML5输入以及自定义Vue组件,不用自己造轮子。本篇文章就记录这个插件的基本使用方法。
基本安装和简单使用
npm install vee-validate --save
安装vee-validate插件。npm install vue-i18n --save
安装vue国际化。
在src下新建文件夹并且创建文件validator.js,然后再引用到mian.js中import './validator/validator.js'
。
1 | //validator.js |
在from表单验证必填值的简单使用。
- v-validate:
v-validate是vue的指令添加到您希望验证的输入中,并确保您的输入具有name用于生成错误消息的属性。 然后,传递给指令一个rules字符串,其中包含由管道’ |’ 分隔的验证规则列表。比如使用required
这个选项是必填项. - data-vv-as:
当为这个输入生成任何错误消息时,它将使用该data-vv-as值而不是实际的字段名称,默认的错误提示都是英文,如果你设置了这个,错误提示字段名称它会提示data-vv-as值. - v-show=”errors.has(‘remark’)”
默认错误提示的标签不加载出来. - errors.first(‘remark’)
获取关于当前remark的第一个错误信息.
1 | <template> |
自定义验证规则
在validator.js文件中引入Validator 对象;
1 | import { Validator } from "vee-validate"; |
在上面的那个v-validate
指令使用后面添加你自定义的规则。
温馨提示
- 自定义方法要放在自定义错误消息上面,要不错误信息会有问题。
- 一个组件下保证验证的
name
属性唯一,除非你需要特定联动效果。
具体如何使用在本人的github上有😊一个小demo。地址
校验范围的设定
当一个Vue组件中多个form表单,每个表单当然都有自己的请求。所以在这种情况下就需要给每个验证设置一个领域。
给每个验证设置一个data-vv-scope
属性。为这个领域取一个name
在提交表单之前validateAll()方法修改成validate(“name.*”)来进行过滤。
这种验证的方式在上面👆给个地址也有用到。