详解vee

网友投稿 269 2023-05-09


详解vee

学习vee-validate,首先可以去阅读官方文档,更为详细可以阅读官网中的规则。英文文档可能会有不理解的地方,推荐大家看这篇博客

下面来简单总结一下我的使用:

一、安装

npm install vee-validate@next --save

后面加@next是为了安装vue2.0的版本

二、引入

我使用的是vue-cli脚手架工具,需要在main.js中

import VeeValidate from 'vee-validate'

Vue.use(VeeValidate);

三、简单的使用

这个时候其实已经可以使用了,先上demo

{{ errors.first('myEmail')}}

解释一下:v-validate后面的required和email是官方已经规定好的几种默认错误类型中的两个,这个可以阅读官方文档。

span中用到了errors的几个方法,http://这里的参数都是定义了验证规则的表单的name。列举几个errors的方法:

1、first(‘field')

field中(也就是刚刚说过的name表单)中的第一个错误

2、collect(‘field')

field中所有的错误

3、has(‘field')

field中是否有错误

4、all()

当前表单中的所有错误

5、any()

当前表单中是否有错误

6、count()

当前表单中的错误数量

7、clear()

清除当前表单中的所有错误

四、使用中文错误提示

没有配置过的错误提示默认使用英文显示的,如果想要用中文显示需要我们手动配置一下

首先还是在main.js中引入

import zh_CN from 'vee-validate/dist/locale/zh_CN'

import { Validator } from 'vee-validate';

紧接着再加一句

Validator.addLocale(zh_CN);

最后需要把第一步的Vue.use(VeeValidate)改为

Vue.use(VeeValidate, {

locale: 'zh_CN',

});

现在错误提示已经是中文了

五、配置组件

上一点中的配置中文其实已经是对组件的配置了,再说一说其他的配置。

//配置

const config = {

errorBagName: 'errors', // change if property conflicts.

fieldsBagName: 'fields',

delay: 0,

locale: 'zh_CN',

strict: true,

enableAutoClasses: false,

classNames: {

touched: 'touched', // the control has been blurred

untouched: 'untouched', // the control hasn't been blurred

valid: 'valid', // model is valid

invalidgnVqo: 'invalid', // model is invalid

pristine: 'pristine', // control has not been interacted with

dirty: 'dirty' // control has been interacted with

},

events: 'blur',

inject: true

};

Vue.use(VeeValidate, config);

delay是指对错误提示的延迟时间;locale就是上一点中对中文的配置,只是这里统一写到了config中;strict=true代表没有设置规则的表单不进行校验,events默认是input|blur,就是在用户输入和表单失去焦点时都进行校验,这里我改成了blur,即只有失去焦点时才开始验证。

五、修改默认的错误提示信息

//修改默认错误提示

const dictionary = {

zh_CN: {

messages: {

email: () => '邮箱格式不正确哦'

}

}

};

Validator.updateDictionary(dictionary);

demo中修改了email的错误提示信息,因为使用的中文(前面引入的),所以是zh_CN。最后用updateDictionary方法加入到Validator中。

六、自定义规则

Validator.extend('qq', {

messages: {

zh_CN:field => 'qq号码输入不正确'

},

validate: value => {

return /^[1-9][0-9]{4,14}$/.test(value);

}

});

extend的第一个参数就是自定义的规则的名字,可以像使用默认规则一样使用它,messages中是错误提示信息,validate是验证规则,返回一个布尔值或promise.


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:基于Java并发容器ConcurrentHashMap#put方法解析
下一篇:微信小程序开发之实现自定义Toast弹框
相关文章

 发表评论

暂时没有评论,来抢沙发吧~