詳解vee-validate的使用個(gè)人小結(jié)
學(xué)習(xí)vee-validate,首先可以去閱讀官方文檔,更為詳細(xì)可以閱讀官網(wǎng)中的規(guī)則。英文文檔可能會(huì)有不理解的地方,推薦大家看這篇博客
下面來簡(jiǎn)單總結(jié)一下我的使用:
一、安裝
npm install vee-validate@next --save
后面加@next是為了安裝vue2.0的版本
二、引入
我使用的是vue-cli腳手架工具,需要在main.js中
import VeeValidate from 'vee-validate' Vue.use(VeeValidate);
三、簡(jiǎn)單的使用
這個(gè)時(shí)候其實(shí)已經(jīng)可以使用了,先上demo
<div> <label for="email">郵箱:</label> <input v-validate ="'required|email'" type="text" id="email" name="myEmail"> </div> <span v-show="errors.has('myEmail')">{{ errors.first('myEmail')}}</span>
解釋一下:v-validate后面的required和email是官方已經(jīng)規(guī)定好的幾種默認(rèn)錯(cuò)誤類型中的兩個(gè),這個(gè)可以閱讀官方文檔。
span中用到了errors的幾個(gè)方法,這里的參數(shù)都是定義了驗(yàn)證規(guī)則的表單的name。列舉幾個(gè)errors的方法:
1、first(‘field')
field中(也就是剛剛說過的name表單)中的第一個(gè)錯(cuò)誤
2、collect(‘field')
field中所有的錯(cuò)誤
3、has(‘field')
field中是否有錯(cuò)誤
4、all()
當(dāng)前表單中的所有錯(cuò)誤
5、any()
當(dāng)前表單中是否有錯(cuò)誤
6、count()
當(dāng)前表單中的錯(cuò)誤數(shù)量
7、clear()
清除當(dāng)前表單中的所有錯(cuò)誤
四、使用中文錯(cuò)誤提示
沒有配置過的錯(cuò)誤提示默認(rèn)使用英文顯示的,如果想要用中文顯示需要我們手動(dòng)配置一下
首先還是在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', });
現(xiàn)在錯(cuò)誤提示已經(jīng)是中文了
五、配置組件
上一點(diǎn)中的配置中文其實(shí)已經(jīng)是對(duì)組件的配置了,再說一說其他的配置。
//配置 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 invalid: '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是指對(duì)錯(cuò)誤提示的延遲時(shí)間;locale就是上一點(diǎn)中對(duì)中文的配置,只是這里統(tǒng)一寫到了config中;strict=true代表沒有設(shè)置規(guī)則的表單不進(jìn)行校驗(yàn),events默認(rèn)是input|blur,就是在用戶輸入和表單失去焦點(diǎn)時(shí)都進(jìn)行校驗(yàn),這里我改成了blur,即只有失去焦點(diǎn)時(shí)才開始驗(yàn)證。
五、修改默認(rèn)的錯(cuò)誤提示信息
//修改默認(rèn)錯(cuò)誤提示 const dictionary = { zh_CN: { messages: { email: () => '郵箱格式不正確哦' } } }; Validator.updateDictionary(dictionary);
demo中修改了email的錯(cuò)誤提示信息,因?yàn)槭褂玫闹形模ㄇ懊嬉氲模?,所以是zh_CN。最后用updateDictionary方法加入到Validator中。
六、自定義規(guī)則
Validator.extend('qq', { messages: { zh_CN:field => 'qq號(hào)碼輸入不正確' }, validate: value => { return /^[1-9][0-9]{4,14}$/.test(value); } });
extend的第一個(gè)參數(shù)就是自定義的規(guī)則的名字,可以像使用默認(rèn)規(guī)則一樣使用它,messages中是錯(cuò)誤提示信息,validate是驗(yàn)證規(guī)則,返回一個(gè)布爾值或promise.
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue計(jì)算屬性無(wú)法監(jiān)聽到數(shù)組內(nèi)部變化的解決方案
今天小編就為大家分享一篇vue計(jì)算屬性無(wú)法監(jiān)聽到數(shù)組內(nèi)部變化的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11vue中watch監(jiān)聽器用法之deep、immediate、flush
Vue是可以監(jiān)聽到多層級(jí)數(shù)據(jù)改變的,且可以在頁(yè)面上做出對(duì)應(yīng)展示,下面這篇文章主要給大家介紹了關(guān)于vue中watch監(jiān)聽器用法之deep、immediate、flush的相關(guān)資料,需要的朋友可以參考下2022-09-09vue如何使用mapbox對(duì)當(dāng)前行政區(qū)劃進(jìn)行反選遮罩
這篇文章主要介紹了vue如何使用mapbox對(duì)當(dāng)前行政區(qū)劃進(jìn)行反選遮罩問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10關(guān)于Vue?CLI3中啟動(dòng)cli服務(wù)參數(shù)說明
這篇文章主要介紹了關(guān)于Vue?CLI3中啟動(dòng)cli服務(wù)參數(shù)說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04Vue實(shí)現(xiàn)點(diǎn)擊按鈕復(fù)制文本內(nèi)容的例子
今天小編就為大家分享一篇Vue實(shí)現(xiàn)點(diǎn)擊按鈕復(fù)制文本內(nèi)容的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)
這篇文章主要介紹了Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04vue-loader和webpack項(xiàng)目配置及npm錯(cuò)誤問題的解決
這篇文章主要介紹了vue-loader和webpack項(xiàng)目配置及npm錯(cuò)誤問題的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Vue3?封裝一個(gè)支持輸入和單/多選InputSelect組件-Antd詳解
Antd的Select組件默認(rèn)不支持作為輸入框使用或手動(dòng)添加選項(xiàng),為了實(shí)現(xiàn)這一功能,我們封裝了一個(gè)通用組件,支持單選和多選模式,并允許用戶在組件失焦時(shí)手動(dòng)輸入選項(xiàng),主要通過定義searchText存儲(chǔ)輸入數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧2024-09-09Vue項(xiàng)目中使用addRoutes出現(xiàn)問題的解決方法
大家應(yīng)該都知道可以通過vue-router官方提供的一個(gè)api-->addRoutes可以實(shí)現(xiàn)路由添加的功能,事實(shí)上就也就實(shí)現(xiàn)了用戶權(quán)限,這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目中使用addRoutes出現(xiàn)問題的解決方法,需要的朋友可以參考下2021-08-08