vue中常用的rules驗(yàn)證方式總結(jié)
vue中常用的幾種表單rules驗(yàn)證方式
message:報(bào)錯(cuò)信息
trigger:觸發(fā)方式
1)blur :失去焦點(diǎn)時(shí)進(jìn)行驗(yàn)證
2)change :當(dāng)值發(fā)生變化時(shí)進(jìn)行驗(yàn)證
required:指定字段是否為必填項(xiàng)(此欄是否為空)
{
label: "用戶(hù)姓名",
prop: "UserName",
type: "input",
rules: [
{
required: true,
message: '請(qǐng)輸入考核層級(jí)',
trigger: 'blur',
}
]
}
min/max:用于驗(yàn)證字段的最小值或最大值(適用于字符串長(zhǎng)度或數(shù)字范圍)
{
label: "用戶(hù)姓名",
prop: "UserName",
type: "input",
rules: [{
min: 2,
max: 5,
message: '字符長(zhǎng)度在2到5之間',
trigger: 'blur'
}]
}
type:指定字段的類(lèi)型,如 string, number, boolean, array, date, email, url等
{
label: "用戶(hù)姓名",
prop: "UserName",
type: "input",
rules: [{
min: 1,
max: 100,
type: 'number',
message: '請(qǐng)輸入1到100之間的數(shù)字',
trigger: 'change'
}]
}
pattern:使用正則表達(dá)式進(jìn)行驗(yàn)證
{
label: "用戶(hù)姓名",
prop: "UserName",
type: "input",
rules: [{
pattern: /^[a-zA-Z0-9]+$/,
message: '只能包含字母和數(shù)字',
trigger: 'blur'
}
]
}
validator:自定義驗(yàn)證邏輯,提供最大靈活性,可以使用回調(diào)函數(shù)來(lái)處理復(fù)雜的驗(yàn)證邏輯
{
label: "用戶(hù)姓名",
prop: "UserName",
type: "input",
rules: [{
validator: (rule, value, callback) => {
if (value === '') {
callback(new Error('輸入不能為空'));
} else if (!/^\d+$/.test(value)) {
callback(new Error('請(qǐng)輸入數(shù)字'));
} else {
callback(); // 驗(yàn)證通過(guò)
}
},
trigger: 'change'
}
]
}
enum:指定枚舉值,用于驗(yàn)證輸入是否在特定值的集合中
{
label: "用戶(hù)姓名",
prop: "UserName",
type: "input",
rules: [{
type: 'enum',
enum: ['option1', 'option2'],
message: '請(qǐng)選擇有效選項(xiàng)',
trigger: 'change'
}]
}
len:驗(yàn)證字段的固定長(zhǎng)度(適用于字符串或數(shù)組)
{
label: "用戶(hù)姓名",
prop: "UserName",
type: "input",
??????? rules: [{
len: 5,
message: '請(qǐng)輸入5個(gè)字符',
trigger: 'blur'
}]
}
擴(kuò)展:有一個(gè)需求,我需要在監(jiān)視屬性中,增加一個(gè)自定義rules規(guī)則,規(guī)則是判斷兩個(gè)日期是否符合條件,不符合需要返回 ‘日期校驗(yàn)錯(cuò)誤’
到此這篇關(guān)于vue中常用的rules驗(yàn)證方式總結(jié)的文章就介紹到這了,更多相關(guān)vue rules驗(yàn)證內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue向后端傳數(shù)據(jù)后端接收為null問(wèn)題及解決
這篇文章主要介紹了Vue向后端傳數(shù)據(jù)后端接收為null問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
vue 實(shí)現(xiàn)左右拖拽元素并且不超過(guò)他的父元素的寬度
這篇文章主要介紹了vue 實(shí)現(xiàn)左右拖拽元素并且不超過(guò)他的父元素的寬度,需要的朋友可以參考下2018-11-11
vue任意關(guān)系組件通信與跨組件監(jiān)聽(tīng)狀態(tài)vue-communication
這篇文章主要介紹了vue任意關(guān)系組件通信與跨組件監(jiān)聽(tīng)狀態(tài)vue-communication,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
vue點(diǎn)擊頁(yè)面空白處實(shí)現(xiàn)保存功能
這篇文章主要介紹了vue點(diǎn)擊頁(yè)面空白處實(shí)現(xiàn)保存功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11
詳解Vue中是如何實(shí)現(xiàn)cache緩存的
這篇文章分享一個(gè)比較有意思的東西,那就是Vue中如何實(shí)現(xiàn)cache緩存的,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-07-07
vue報(bào)錯(cuò)Cannot?read?properties?of?undefined?(...)類(lèi)型的解決辦法
這篇文章主要給大家介紹了關(guān)于vue報(bào)錯(cuò)Cannot?read?properties?of?undefined?(...)類(lèi)型的解決辦法,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-04-04
uniapp項(xiàng)目國(guó)際化標(biāo)準(zhǔn)的配置與實(shí)現(xiàn)
UniApp是一種基于Vue.js的跨平臺(tái)開(kāi)發(fā)框架,可以快速地開(kāi)發(fā)同時(shí)運(yùn)行在多個(gè)平臺(tái)的應(yīng)用程序,這篇文章主要介紹了uniapp項(xiàng)目國(guó)際化標(biāo)準(zhǔn)的配置與實(shí)現(xiàn),需要的朋友可以參考下2023-11-11
vscode中vue-cli項(xiàng)目es-lint的配置方法
本文主要介紹vscode中 vue項(xiàng)目es-lint的配置方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的的朋友參考下吧2018-07-07

