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