首頁 >後端開發 >php教程 >Yii2驗證器(Validator)用法分析_php實例

Yii2驗證器(Validator)用法分析_php實例

WBOY
WBOY原創
2016-08-04 08:56:45988瀏覽

本文實例講述了Yii2驗證器(Validator)用法。分享給大家參考,具體如下:

先看一下驗證器的使用。

public function rules()
{
  return [
    [['email', 'password'], 'required'],
    ['password', 'string', 'min'=>6],
  ];
}

如上所示,驗證器主要使用在rules裡面,對目前model裡面的屬性值進行驗證以檢查是否符合某種要求。

驗證器使用格式:

書寫格式為:[需要驗證的屬性,驗證器名稱,驗證器參數]。

如果需要驗證的屬性為多個可用數組,如果為一個屬性可用字串也可用數組來表示。

每個屬性都可以有多個驗證器,如上面的password使用了 required和string兩個驗證器。

常用驗證器:

Yii2已經內建了一些常用的驗證器。所有的驗證器都從基底類別yiivalidatorsValidator繼承實作。我大概總結下有這麼幾類。

數字相關:

integer——整數
用來偵測屬性值是否為整數,以及最大值、最小值偵測等。 (yiivalidatorsNumberValidator)

double——浮點
用來偵測屬性值是否為浮點數,即小數。 (yiivalidatorsNumberValidator)

number——數字
這個和上面的double完全相同,只是用了2個名稱。 (yiivalidatorsNumberValidator)

格式相關:

date——日期
檢定屬性值是否為正確的日期格式。 (yiivalidatorsDateValidator)

email——mail
偵測屬性值是否為正確的電子郵件格式。 (yiivalidatorsEmailValidator)

url——URL
用來判斷屬性值是否是正確的url位址。 (yiivalidatorsUrlValidator)

對值進行函數處理:

filter——過濾器
這個是對屬性值進行加工處理的。如對屬性值加上前綴、替換特定的字串等等。 (yiivalidatorsFilterValidator)

trim——裁邊
這個是對屬性值進行加工處理的。只是去掉字串兩側的空格、或指定的字串。 (yiivalidatorsFilterValidator)

上傳文件驗證:

file——檔案
這個主要是對上傳的檔案進行驗證,如格式、大小等。 (yiivalidatorsFileValidator)

image——圖片
這個和上面的file驗證器差不多,不過是專門用來驗證圖片的。 (yiivalidatorsImageValidator)

判斷比較:

compare——比較
用來對兩個屬性值進行比較,如相等、大於、小於比較等。 (yiivalidatorsCompareValidator)

in——包含(範圍)
用來偵測屬性值是否包含在指定的陣列中。 (yiivalidatorsRangeValidator)

exist——存在
用來偵測在資料表中是否已經存在此屬性值。 (yiivalidatorsExistValidator)

unique——唯一性
這個和exist差不多,用來偵測值是否是唯一。 (yiivalidatorsUniqueValidator)

string——字串
對屬性值進行長度判斷,如最大長度、最短長度等。 (yiivalidatorsStringValidator)

boolean——布林型
用來檢查屬性的值是否為布林值。 (yiivalidatorsBooleanValidator)

default——預設值
這個是用來給屬性設定預設值的。如當屬性值為null的時候,給它設定為 空的預設值。 (yiivalidatorsDefaultValueValidator)

required-必填
這個用來檢查屬性值是否為空。 (yiivalidatorsRequiredValidator)

captcha——驗證碼
這個主要是在介面使用驗證碼的時候對驗證碼進行驗證的。 (yiicaptchaCaptchaValidator)

match——正規表示式
這個就比較強大了,用來偵測屬性值是否符合給定的正規。上面所列的基本都可以用這個實作。 (yiivalidatorsRegularExpressionValidator)

其它:

safe——安全
這個不進行驗證,只用來指定屬性值是安全的。 (yiivalidatorsSafeValidator)

更多關於Yii相關內容有興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》、《smarty模板入門基礎教程》、《php物件導向程式設計入門教程》、《php字串(string)用法總結》、《php+mysql資料庫操作入門教學》及《php常見資料庫操作技巧總表》

希望本文所述對大家以Yii架構為基礎的PHP程式設計有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn