Element UI Form表單驗證

Form組件提供表單驗證的功能,只需要通過rules屬性傳入約定的驗證規(guī)則,并將Form-Item的prop屬性設(shè)置為需校驗的字段名即可。
rules中單個表單域校驗規(guī)則可以包含多個數(shù)組,每個數(shù)組即是一條校驗規(guī)則:

name: [
   { required: true, message: '請輸入活動名稱', trigger: 'blur' },
   { min: 3, max: 5, message: '長度在 3 到 5 個字符', trigger: 'blur' }
]

數(shù)組中的單個校驗規(guī)則對象中包含required/message/trigger/min/max等參數(shù)。

type

表明要使用驗證器的類型,類似于數(shù)據(jù)格式校驗,使用這個,可以對一些特定的字段進行校驗,不用像之前那樣寫正則了。
可識別的類型值有:

  • string: 字符串類型(默認值)
  • number: 數(shù)字類型
  • boolean:布爾類型
  • method: 函數(shù)類型
  • regexp:正則表達式
  • integer: 整型
  • float: 雙精度浮點型數(shù)字
  • array: 數(shù)組類型
  • object: 對象類型
  • enum: 枚舉值
  • date: 日期格式
  • url: 網(wǎng)址格式
  • hex: 16進制數(shù)字
  • email: 電子郵箱格式
  • any: 任意類型
required

必填字段,即非空驗證。

pattern

正則表達式,如果需要驗證手機號碼之類的,可以直接編寫正則表達式配置道校驗規(guī)則中,就不需要自己去校驗了。

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

判斷數(shù)據(jù)大小范圍,通常對數(shù)字大小范圍做校驗。對于字符串和數(shù)組類型,將根據(jù)長度進行比較。

{ required: true, message: '請輸入活動名稱', trigger: 'blur' },
{ min: 3, max: 5, message: '長度在 3 到 5 個字符', trigger: 'blur' }
len

長度驗證

enum

枚舉值驗證

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

驗證是否只有空格(如果沒有該配置,則全空格的輸入也是有效的)

transform:

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

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

如上,只有輸入1、2、3的時候才能校驗通過。

貌似這個只能輔助校驗,并不能改變組件綁定變量本身的值。

fields:

深層規(guī)則,可以通過將嵌套規(guī)則分配給規(guī)則的屬性來驗證object或array類型的驗證規(guī)則,

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"}
    }
  }
roles: {
    type: "array", required: true, len: 3,
    fields: {
      0: {type: "string", required: true},
      1: {type: "string", required: true},
      2: {type: "string", required: true}
    }
  }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容