Vue vee-validate插件的簡(jiǎn)單使用
1.安裝
npm i vee-validate@4.0.3
2.導(dǎo)入
import { Form, Field } from 'vee-validate'
3.定義校驗(yàn)規(guī)則(最好是在utils文件夾中單獨(dú)封裝js文件導(dǎo)出)
// 創(chuàng)建js文件進(jìn)行導(dǎo)出
export default {
// 校驗(yàn)項(xiàng)account
account (value) {
if (!value) return '不能為空'// 條件判斷,
return true // 最后全部通過(guò)必須return true
},
password (value) {
if (!value) return '請(qǐng)輸入密碼'
if (!/^\w{6,24}$/.test(value)) return '密碼是6-24個(gè)字符'
return true
},
mobile (value) {
if (!value) return '請(qǐng)輸入手機(jī)號(hào)'
if (!/^1[3-9]\d{9}$/.test(value)) return '手機(jī)號(hào)格式錯(cuò)誤'
return true
},
code (value) {
if (!value) return '請(qǐng)輸入驗(yàn)證碼'
if (!/^\d{6}$/.test(value)) return '驗(yàn)證碼是6個(gè)數(shù)字'
return true
},
isAgree (value) {
if (!value) return '請(qǐng)勾選同意用戶協(xié)議'
return true
}
}
4.使用Form組件配置校驗(yàn)規(guī)則和錯(cuò)誤對(duì)象 (form 和 Field都是從插件中按需導(dǎo)出)
// validation-schema="mySchema" 配置校驗(yàn)規(guī)則
// v-slot:導(dǎo)出錯(cuò)誤對(duì)象
<Form
:validation-schema="mySchema"
v-slot="{ errors }"
>
<!-- 表單元素 -->
</Form>
<script>
import schema from '@/utils/vee-validate-schema'
setup () {
// 表單對(duì)象數(shù)據(jù)
const form = reactive({
account: null, // 賬號(hào)
password: null // 密碼
})
// 校驗(yàn)規(guī)則對(duì)象
const mySchema = {
account: schema.account,
password: schema.password
}
return { form, mySchema }
}
</script>
5.使用 Field 組件,添加表單項(xiàng)目校驗(yàn)
//1. 把input改成 `Field` 組件,默認(rèn)解析成input
//2. `Field` 添加name屬性,作用是指定使用schema中哪個(gè)校驗(yàn)規(guī)則
//3. `Field`添加v-model,作用是提供表單數(shù)據(jù)的雙向綁定
//4. 發(fā)生表單校驗(yàn)錯(cuò)誤,顯示錯(cuò)誤類名`error`,提示紅色邊框
<Field
v-model="form.account"
name="account"
type="text"
placeholder="請(qǐng)輸入用戶名"
:class="{ error: errors.account }" // 如果返回錯(cuò)誤信息,為true 顯示類error
/>
<!-- <input type="text" placeholder="請(qǐng)輸入用戶名" /> -->
6.補(bǔ)充表單數(shù)據(jù)和驗(yàn)證規(guī)則數(shù)據(jù)
// 表單綁定的數(shù)據(jù)
const form = reactive({
account: null, // 賬號(hào)
password: null, // 密碼
isAgree: true // 是否選中
})
// 聲明當(dāng)前表單需要的校驗(yàn)數(shù)據(jù)規(guī)則
const curSchema = reactive({
account: schema.account, // 賬號(hào)
password: schema.password, // 密碼
isAgree: schema.isAgree // 是否選中
})
以上就是Vue vee-validate插件的簡(jiǎn)單使用的詳細(xì)內(nèi)容,更多關(guān)于Vue vee-validate插件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue組件實(shí)現(xiàn)列表自動(dòng)無(wú)限循環(huán)的方法
最近剛好有個(gè)功能需要實(shí)現(xiàn)列表的無(wú)限循環(huán)滾動(dòng),這篇文章主要給大家介紹了關(guān)于vue組件實(shí)現(xiàn)列表自動(dòng)無(wú)限循環(huán)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11
vue實(shí)現(xiàn)通過(guò)手機(jī)號(hào)發(fā)送短信驗(yàn)證碼登錄的示例代碼
本文主要介紹了vue實(shí)現(xiàn)通過(guò)手機(jī)號(hào)發(fā)送短信驗(yàn)證碼登錄的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
vue路由前進(jìn)后退動(dòng)畫效果的實(shí)現(xiàn)代碼
這篇文章主要介紹了vue路由前進(jìn)后退動(dòng)畫效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12
Vue 重置data的數(shù)據(jù)為初始狀態(tài)操作
這篇文章主要介紹了Vue 重置data的數(shù)據(jù)為初始狀態(tài)操作方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
關(guān)于Vue中的全局導(dǎo)航守衛(wèi)(beforeEach、afterEach)
這篇文章主要介紹了關(guān)于Vue中的全局導(dǎo)航守衛(wèi)(beforeEach、afterEach),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
vue.js樣式布局Flutter業(yè)務(wù)開發(fā)常用技巧
這篇文章主要為大家介紹了vue.js樣式布局Flutter業(yè)務(wù)開發(fā)中的常用技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2021-11-11

