Vue.js + Nuxt.js 項目中使用 Vee-validate 表單校驗

vee-validate 是為 Vue.js 量身打造的表單校驗框架,允許您校驗輸入的內(nèi)容并顯示對應的錯誤提示信息。它內(nèi)置了很多常見的校驗規(guī)則,可以組合使用多種校驗規(guī)則,大部分場景只需要配置就能實現(xiàn)開箱即用,還支持自定義正則表達式。而且支持 40 多種語言,對本地化、多語言支持非常友好。
國內(nèi)餓了么團隊開源項目 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
// 覆蓋默認錯誤信息提示
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ī)則默認信息提示
email: '請輸入有效的電子郵箱地址' // 覆蓋 email 字段的 email 規(guī)則默認信息提示
},
password: {
min: '密碼長度在7-26個字符', // 覆蓋 password 字段的 min 規(guī)則默認信息提示
max: '密碼長度在7-26個字符', // 覆蓋 password 字段的 max 規(guī)則默認信息提示
regex: '需包含大寫字母、小寫字母、數(shù)字、特殊字符中任意三項' // 覆蓋 email 字段的 regex 規(guī)則默認信息提示
}
}
}
b. Vue 中覆蓋默認配置,使用自定義提示信息
data () {
regexps: {
password: new RegExp('') // 密碼檢驗自定義正則表達式
},
},
created() {
this.$validator.localize('zh_CN', validateDict)
},
5. 效果截圖

總結(jié)
以上所述是小編給大家介紹的Vue.js + Nuxt.js 項目中使用 Vee-validate 表單校驗 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Vue實現(xiàn)動態(tài)添加或者刪除對象和對象數(shù)組的操作方法
這篇文章主要介紹了在Vue項目中實現(xiàn)動態(tài)添加或者刪除對象和對象數(shù)組的操作方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-09-09
Element-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-01
vue實現(xiàn)表格動態(tài)嵌入折線圖的繪制代碼
這篇文章給大家介紹了vue實現(xiàn)表格動態(tài)嵌入折線圖的繪制方法,文中有詳細完整的代碼示例攻大家參考,對大家的學習或工作有一定的參考價值,需要的朋友可以參考下2023-10-10
vite2.x實現(xiàn)按需加載ant-design-vue@next組件的方法
這篇文章主要介紹了vite2.x實現(xiàn)按需加載ant-design-vue@next組件的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03
vue中使用go()和back()兩種返回上一頁的區(qū)別說明
這篇文章主要介紹了vue中使用go()和back()兩種返回上一頁的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
Vue?echarts實例項目商家銷量統(tǒng)計圖實現(xiàn)詳解
Echarts,它是一個與框架無關(guān)的?JS?圖表庫,但是它基于Js,這樣很多框架都能使用它,例如Vue,估計IONIC也能用,因為我的習慣,每次新嘗試做一個功能的時候,總要新創(chuàng)建個小項目,做做Demo2022-09-09
vue中swiper開啟loop后,點擊事件不響應的解決方案
這篇文章主要介紹了vue中swiper開啟loop后,點擊事件不響應的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09

