欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ElementUI中el-form組件的rules參數(shù)舉例詳解

 更新時(shí)間:2023年10月24日 10:35:32   作者:JAVA海洋里的小魚(yú)  
Form組件提供了表單驗(yàn)證的功能,只需要通過(guò)rules屬性傳入約定的驗(yàn)證規(guī)則,并將Form-Item的prop屬性設(shè)置為需校驗(yàn)的字段名即可,下面這篇文章主要給大家介紹了關(guān)于ElementUI中el-form組件的rules參數(shù)的相關(guān)資料,需要的朋友可以參考下

在檢驗(yàn)規(guī)則的代碼中,我們可以看到規(guī)則對(duì)象中包含required/message/trigger/min/max等參數(shù),這些參數(shù)配合起來(lái),可以完成我們以往要編寫(xiě)多行代碼才能實(shí)現(xiàn)的校驗(yàn)功能。

下面就詳細(xì)介紹

參數(shù)說(shuō)明

屬性

類(lèi)型

說(shuō)明

type

String

用于驗(yàn)證數(shù)據(jù)類(lèi)型,默認(rèn)類(lèi)型為’string’

required

boolean

是否必填

pattern

regexp/string

字段值匹配正則表達(dá)式才能通過(guò)驗(yàn)證

min和max

number

對(duì)于字符串和數(shù)組類(lèi)型,將根據(jù)長(zhǎng)度進(jìn)行比較,對(duì)于數(shù)字類(lèi)型,數(shù)字不得小于min,也不得大于max

len

number

對(duì)于字符串和數(shù)組類(lèi)型,對(duì)length屬性執(zhí)行比較,對(duì)于數(shù)字類(lèi)型,此屬性指示數(shù)字的完全匹配,len屬性與min和max屬性組合,則len優(yōu)先。

enum

array

type必須設(shè)置為enum,值必須包含在從可能值列表中才能通過(guò)驗(yàn)證

trigger

blur/change

觸發(fā)驗(yàn)證的時(shí)機(jī),blur失去焦點(diǎn)時(shí)觸發(fā),change:值發(fā)生改變時(shí)觸發(fā)

whitespace

boolean

type必須設(shè)置為string,要為僅包含空格的字符串可以whitespace設(shè)置為true

transform

function

在驗(yàn)證之前轉(zhuǎn)換值

defaultField

array/object

type為數(shù)組或?qū)ο箢?lèi)型時(shí)一起使用,用來(lái)驗(yàn)證數(shù)組或?qū)ο笾邪乃兄?,進(jìn)行深層驗(yàn)證

fields

object

type為數(shù)組或?qū)ο箢?lèi)型時(shí)一起使用,分別驗(yàn)證array/object類(lèi)型的數(shù)據(jù)中的值,實(shí)現(xiàn)深度驗(yàn)證

validator

function

驗(yàn)證器,可以為指定字段自定義驗(yàn)證函數(shù):function(rule, value, callback)

asyncValidator

function

異步驗(yàn)證器,可以為指定字段自定義異步驗(yàn)證函數(shù) function(rule, value, callback)

message

string/jsx/function等

根據(jù)需要將消息分配給規(guī)則

下面詳細(xì)介紹參數(shù)屬性說(shuō)明

type

表明要使用驗(yàn)證器的類(lèi)型,類(lèi)似數(shù)據(jù)格式檢驗(yàn),其中還有email、url、regexp、method等特定格式字段的驗(yàn)證。

使用這個(gè),我們就可以對(duì)一些特定的字段進(jìn)行校驗(yàn),而不用再像以前一樣寫(xiě)正則,做判斷。

比如只需要配置 type:‘email’ 的規(guī)則就可以驗(yàn)證email了,驗(yàn)證器都已經(jīng)封裝好了這些功能,你只需調(diào)用就可以了。

可識(shí)別的類(lèi)型值有:

string

字符串類(lèi)型(默認(rèn)值)

number

數(shù)字類(lèi)型

boolean

布爾類(lèi)型

method

函數(shù)類(lèi)型

regexp

正則表達(dá)式

integer

整型

float

雙精度浮點(diǎn)型數(shù)字

array

數(shù)組類(lèi)型

object

對(duì)象類(lèi)型

enum

枚舉值

date

日期格式

url

網(wǎng)址格式

hex

16進(jìn)制數(shù)字

email

電子郵箱格式

any

任意類(lèi)型

//驗(yàn)證電子郵箱的完整示例代碼
email = [{
    type: "string",
    required: true,
    message: '請(qǐng)輸入郵箱地址',
    trigger: 'blur'
  },
  {
    type: 'email',
    message: '請(qǐng)輸入正確的郵箱地址',
    trigger: ['blur', 'change']
  }
]

如上,實(shí)現(xiàn)了文本框失去焦點(diǎn)進(jìn)行非空檢驗(yàn),失去焦點(diǎn)、內(nèi)容改變進(jìn)行格式驗(yàn)證,并給出相應(yīng)提示.

required

必填字段,即非空驗(yàn)證。如上面實(shí)例中的的非空驗(yàn)證,以及郵箱前邊的必填符號(hào)*,就是這個(gè)參數(shù)的功勞。

pattern

正則表達(dá)式,如果需要驗(yàn)證手機(jī)號(hào)碼之類(lèi),可以直接編寫(xiě)正則表達(dá)式配置到校驗(yàn)規(guī)則中,那么就不需要自己去校驗(yàn)了,由校驗(yàn)器自動(dòng)校驗(yàn)。

{ type : "string" , required: true , pattern : /^[a-z]+$/ }

min/max

判斷數(shù)據(jù)大小范圍,通常對(duì)數(shù)字大小范圍做校驗(yàn)。對(duì)于字符串和數(shù)組類(lèi)型,將根據(jù)長(zhǎng)度進(jìn)行比較。

{ required: true, message: '請(qǐng)輸入活動(dòng)名稱(chēng)', trigger: 'blur' },
{ min: 3, max: 5, message: '長(zhǎng)度在 3 到 5 個(gè)字符', trigger: 'blur' }

len

長(zhǎng)度驗(yàn)證,如11位手機(jī)號(hào)碼。

roles: {
    type: "array", required: true, len: 11
}

trigger

取值為blur/change, blur失去焦點(diǎn)時(shí)觸發(fā),change:值發(fā)生改變時(shí)觸發(fā)

enum

枚舉值驗(yàn)證,示例代碼如下:

role: {type: "enum", enum: ['admin', 'user', 'guest']}

whitespace

驗(yàn)證是否只有空格(如果沒(méi)有該配置,則全空格的輸入值也是有效的)。

whitespace: [{
    type: "string",
    message: '只存在空格',
    whitespace:true,
    trigger: ['change', 'blur']
}]

transform

有時(shí)有必要在驗(yàn)證之前轉(zhuǎn)換值,以強(qiáng)制或以某種方式對(duì)其進(jìn)行清理。為此 transform ,向驗(yàn)證規(guī)則添加一個(gè)功能。在驗(yàn)證之前,先轉(zhuǎn)換屬性,然后將其重新分配給源對(duì)象,以更改該屬性的值。

transform: [
 {
    type: 'enum',
    enum: [2,4,6], 
    message: `結(jié)果不存在`, 
    trigger: ['change', 'blur'],
    transform(value) {
      return Number(value * 2)
    }
  }
]

如上,只有輸入1、2、3的時(shí)候才能校驗(yàn)通過(guò),這個(gè)只能輔助校驗(yàn),并不能改變組件綁定變量本身的值。

fields

深層規(guī)則,可以通過(guò)將嵌套規(guī)則分配給規(guī)則的屬性來(lái)驗(yàn)證object或array類(lèi)型的驗(yàn)證規(guī)則,如地址對(duì)象的省市區(qū)的規(guī)則驗(yàn)證:

object類(lèi)型:
address: {
    type: "object", required: true,
    fields: {
      street: {type: "string", required: true},
      city: {type: "string", required: true},
      zip: {type: "string", required: true, len: 8, message: "invalid zip"}
    }
  }
array類(lèi)型:
 roles: {
    type: "array", required: true, len: 3,
    fields: {
      0: {type: "string", required: true},
      1: {type: "string", required: true},
      2: {type: "string", required: true}
    }
  }

messages

未通過(guò)校驗(yàn)的提示信息:

{name:{type: "string", required: true, message: "Name is required"}}

支持html:

{name:{type: "string", required: true, message: "<b>Name is required</b>"}}

支持vue-i18n:

{name:{type: "string", required: true, message: () => this.$t( 'name is required' )}}

validator

可以為指定字段自定義驗(yàn)證函數(shù)——這就相當(dāng)于把前邊配置的東西用js按照以前的方式編寫(xiě)驗(yàn)證邏輯了。雖然麻煩點(diǎn),但是能實(shí)現(xiàn)比較復(fù)雜的業(yè)務(wù)邏輯判斷。

例如:判斷密碼是否為空

data(){
       var checkPass= (rules,value,callback) =>{
            if(value ==''){
                callback(new Error('請(qǐng)輸入密碼'));
            }else{
                callback();
            }
        }
        return{
            rules:{
                pass:[vaildatot:checkPass,trigger:blur]
            }
        }
}

總結(jié) 

到此這篇關(guān)于ElementUI中el-form組件的rules參數(shù)舉例詳解的文章就介紹到這了,更多相關(guān)ElementUI el-form組件rules參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue子組件獲取到它父組件數(shù)據(jù)的4種方法

    vue子組件獲取到它父組件數(shù)據(jù)的4種方法

    這篇文章主要給大家介紹了關(guān)于vue子組件獲取到它父組件數(shù)據(jù)的4種方法,對(duì)于vue來(lái)說(shuō)組件之間的消息傳遞是非常重要的,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • vue實(shí)現(xiàn)頁(yè)面添加水印效果

    vue實(shí)現(xiàn)頁(yè)面添加水印效果

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)頁(yè)面添加水印效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue數(shù)據(jù)更新視圖不更新的幾種解決方案小結(jié)

    Vue數(shù)據(jù)更新視圖不更新的幾種解決方案小結(jié)

    這篇文章主要介紹了Vue數(shù)據(jù)更新視圖不更新的幾種解決方案小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue.js+Layer表格數(shù)據(jù)綁定與實(shí)現(xiàn)更新的實(shí)例

    Vue.js+Layer表格數(shù)據(jù)綁定與實(shí)現(xiàn)更新的實(shí)例

    下面小編就為大家分享一篇Vue.js+Layer表格數(shù)據(jù)綁定與實(shí)現(xiàn)更新的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • vue實(shí)現(xiàn)兩個(gè)組件之間數(shù)據(jù)共享和修改操作

    vue實(shí)現(xiàn)兩個(gè)組件之間數(shù)據(jù)共享和修改操作

    這篇文章主要介紹了vue實(shí)現(xiàn)兩個(gè)組件之間數(shù)據(jù)共享和修改操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • 前端JS也可以連點(diǎn)成線詳解(Vue中運(yùn)用AntVG6)

    前端JS也可以連點(diǎn)成線詳解(Vue中運(yùn)用AntVG6)

    這篇文章主要給大家介紹了關(guān)于前端JS連點(diǎn)成線(Vue中運(yùn)用?AntVG6)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-01-01
  • vue響應(yīng)式原理與雙向數(shù)據(jù)的深入解析

    vue響應(yīng)式原理與雙向數(shù)據(jù)的深入解析

    Vue 最獨(dú)特的特性之一,是其非侵入性的響應(yīng)式系統(tǒng)。下面這篇文章主要給大家介紹了關(guān)于vue響應(yīng)式原理與雙向數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • vue實(shí)現(xiàn)驗(yàn)證用戶(hù)名是否可用

    vue實(shí)現(xiàn)驗(yàn)證用戶(hù)名是否可用

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)驗(yàn)證用戶(hù)名是否可用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • Vue條件判斷之循環(huán)舉例詳解

    Vue條件判斷之循環(huán)舉例詳解

    在Vue進(jìn)行前端開(kāi)發(fā)中,條件判斷主要用于根據(jù)不同的條件來(lái)決定顯示或隱藏,或者進(jìn)行視圖之間的切換,這篇文章主要給大家介紹了關(guān)于Vue條件判斷之循環(huán)舉例詳解的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • Vue數(shù)據(jù)代理的實(shí)現(xiàn)流程逐步講解

    Vue數(shù)據(jù)代理的實(shí)現(xiàn)流程逐步講解

    通過(guò)一個(gè)對(duì)象代理對(duì)另一個(gè)對(duì)象中的屬性的操作(讀/寫(xiě)),就是數(shù)據(jù)代理。要搞懂Vue數(shù)據(jù)代理這個(gè)概念,那我們就要從Object.defineProperty()入手,Object.defineProperty()是Vue中比較底層的一個(gè)方法,在數(shù)據(jù)劫持,數(shù)據(jù)代理以及計(jì)算屬性等地方都或多或少的用到了本函數(shù)
    2023-01-01

最新評(píng)論