Vue.js + Nuxt.js 項目中使用 Vee-validate 表單校驗
vee-validate 是為 Vue.js 量身打造的表單校驗框架,允許您校驗輸入的內(nèi)容并顯示對應(yīng)的錯誤提示信息。它內(nèi)置了很多常見的校驗規(guī)則,可以組合使用多種校驗規(guī)則,大部分場景只需要配置就能實現(xiàn)開箱即用,還支持自定義正則表達(dá)式。而且支持 40 多種語言,對本地化、多語言支持非常友好。
國內(nèi)餓了么團(tuán)隊開源項目 Element UI 就用到了 vee-validate 。
vee-validate 官網(wǎng):https://baianat.github.io/vee-validate/
1. 安裝
安裝 vee-validate 到項目中
npm install vee-validate --save
2. 創(chuàng)建 vee-validate 插件
a. 創(chuàng)建插件
在 Nuxt.js 項目 plugins 目錄下創(chuàng)建 veevalidate.js 。
b. 引入、配置 vee-validate
import Vue from 'vue' import zhCN from 'vee-validate/dist/locale/zh_CN' // 引入本地化語言 import VeeValidate, { Validator } from 'vee-validate' // 引入 vee-validate // 覆蓋默認(rèn)錯誤信息提示 zhCN.messages.email = () => '請輸入正確的郵箱地址' Vue.use(VeeValidate) // 本地化 Validator.localize('zh_CN', zhCN)
3. 引入 vee-validate 到項目中
在 nuxt.config.js 中引入剛才配置好的插件 veevalidate.js
/* ** Plugins to load before mounting the App */ plugins: [ '@/plugins/veevalidate' ],
4. 表單頁實現(xiàn)自定義錯誤提示、自定義檢驗規(guī)則
HTML 表單
<form action=""> <van-cell-group> <van-field placeholder="請輸入有效郵箱" type="email" v-model="email" name="email" v-validate="'required|email'" :error-message="errors.first('email')" /> <van-field placeholder="請輸入密碼" v-model="password" type="password" name="password" v-validate="{ min: 3, max: 16, regex: regexps.password }" :error-message="errors.first('password')"> </van-field> </van-cell-group> </form>
JS
a. 自定義錯誤提示信息
// 自定義錯誤信息提示 const validateDict = { custom: { email: { required: '請輸入電子郵箱', // 覆蓋 email 字段的 required 規(guī)則默認(rèn)信息提示 email: '請輸入有效的電子郵箱地址' // 覆蓋 email 字段的 email 規(guī)則默認(rèn)信息提示 }, password: { min: '密碼長度在7-26個字符', // 覆蓋 password 字段的 min 規(guī)則默認(rèn)信息提示 max: '密碼長度在7-26個字符', // 覆蓋 password 字段的 max 規(guī)則默認(rèn)信息提示 regex: '需包含大寫字母、小寫字母、數(shù)字、特殊字符中任意三項' // 覆蓋 email 字段的 regex 規(guī)則默認(rèn)信息提示 } } }
b. Vue 中覆蓋默認(rèn)配置,使用自定義提示信息
data () { regexps: { password: new RegExp('') // 密碼檢驗自定義正則表達(dá)式 }, }, created() { this.$validator.localize('zh_CN', validateDict) },
5. 效果截圖
總結(jié)
以上所述是小編給大家介紹的Vue.js + Nuxt.js 項目中使用 Vee-validate 表單校驗 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Vue實現(xiàn)動態(tài)添加或者刪除對象和對象數(shù)組的操作方法
這篇文章主要介紹了在Vue項目中實現(xiàn)動態(tài)添加或者刪除對象和對象數(shù)組的操作方法,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-09-09Element-ui樹形控件el-tree自定義增刪改和局部刷新及懶加載操作
這篇文章主要介紹了Element-ui樹形控件el-tree自定義增刪改和局部刷新及懶加載操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08關(guān)于net?6+vue?插件axios?后端接收參數(shù)問題
接到這樣一個項目需求是這樣的,前端vue?必須對象傳遞后端也必須對象接收,接下來通過本文給大家介紹下net?6+vue?插件axios?后端接收參數(shù)的問題,需要的朋友可以參考下2022-01-01vue實現(xiàn)表格動態(tài)嵌入折線圖的繪制代碼
這篇文章給大家介紹了vue實現(xiàn)表格動態(tài)嵌入折線圖的繪制方法,文中有詳細(xì)完整的代碼示例攻大家參考,對大家的學(xué)習(xí)或工作有一定的參考價值,需要的朋友可以參考下2023-10-10vite2.x實現(xiàn)按需加載ant-design-vue@next組件的方法
這篇文章主要介紹了vite2.x實現(xiàn)按需加載ant-design-vue@next組件的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03vue中使用go()和back()兩種返回上一頁的區(qū)別說明
這篇文章主要介紹了vue中使用go()和back()兩種返回上一頁的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07Vue?echarts實例項目商家銷量統(tǒng)計圖實現(xiàn)詳解
Echarts,它是一個與框架無關(guān)的?JS?圖表庫,但是它基于Js,這樣很多框架都能使用它,例如Vue,估計IONIC也能用,因為我的習(xí)慣,每次新嘗試做一個功能的時候,總要新創(chuàng)建個小項目,做做Demo2022-09-09vue中swiper開啟loop后,點(diǎn)擊事件不響應(yīng)的解決方案
這篇文章主要介紹了vue中swiper開啟loop后,點(diǎn)擊事件不響應(yīng)的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09