溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Yii2驗(yàn)證器Validator怎么用

發(fā)布時間:2021-08-30 14:33:29 來源:億速云 閱讀:157 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Yii2驗(yàn)證器Validator怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體如下:

先看一下驗(yàn)證器的使用。

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

如上所示,驗(yàn)證器主要使用在rules里面,對當(dāng)前model里面的屬性值進(jìn)行驗(yàn)證以檢查是否滿足某種要求。

驗(yàn)證器使用格式:

書寫格式為:[需要驗(yàn)證的屬性,驗(yàn)證器名稱,驗(yàn)證器參數(shù)]。

如果需要驗(yàn)證的屬性為多個可用數(shù)組,如果為一個屬性可用字符串也可用數(shù)組來表示。

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

常用驗(yàn)證器:

Yii2已經(jīng)內(nèi)置了一些常用的驗(yàn)證器。所有的驗(yàn)證器都從基類yii\validators\Validator繼承實(shí)現(xiàn)。我大概總結(jié)下有這么幾類。

數(shù)字相關(guān):

integer——整數(shù)
用來檢測屬性值是否為整數(shù),以及最大、最小值檢測等。(yii\validators\NumberValidator)

double——浮點(diǎn)
用來檢測屬性值是否為浮點(diǎn)數(shù),即小數(shù)。(yii\validators\NumberValidator)

number——數(shù)字
這個和上面的double完全相同,只是用了2個名稱。(yii\validators\NumberValidator)

格式相關(guān):

date——日期
檢驗(yàn)屬性值是否為正確的日期格式。(yii\validators\DateValidator)

email——郵件
檢測屬性值是否是正確的電子郵件格式。(yii\validators\EmailValidator)

url——URL
用來判斷屬性值是否是正確的url地址。(yii\validators\UrlValidator)

對值進(jìn)行函數(shù)處理:

filter——過濾器
這個是對屬性值進(jìn)行加工處理的。如對屬性值加前綴、替換特定的字符串等等。(yii\validators\FilterValidator)

trim——裁邊
這個是對屬性值進(jìn)行加工處理的。只是去掉字符串兩側(cè)的空格、或指定的字符串。(yii\validators\FilterValidator)

上傳文件驗(yàn)證:

file——文件
這個主要是對上傳的文件進(jìn)行驗(yàn)證,如格式、大小等。(yii\validators\FileValidator)

image——圖片
這個和上面的file驗(yàn)證器差不多,不過是專門用來驗(yàn)證圖片的。(yii\validators\ImageValidator)

判斷比較:

compare——比較
用來對兩個屬性值進(jìn)行比較,如相等、大于、小于比較等。(yii\validators\CompareValidator)

in——包含(范圍)
用來檢測屬性值是否包含在指定的數(shù)組中。(yii\validators\RangeValidator)

exist——存在
用來檢測在數(shù)據(jù)表中是否已經(jīng)存在此屬性值。(yii\validators\ExistValidator)

unique——唯一性
這個和exist差不多,用來檢測值是否是唯一。(yii\validators\UniqueValidator)

string——字符串
對屬性值進(jìn)行長度判斷,如最大長度、最短長度等。(yii\validators\StringValidator)

boolean——布爾型
用來檢查屬性的值是否為布爾值。(yii\validators\BooleanValidator)

default——默認(rèn)值
這個是用來給屬性設(shè)置默認(rèn)值的。如當(dāng)屬性值為null的時候,給它設(shè)置為 空的默認(rèn)值。(yii\validators\DefaultValueValidator)

required——必填
這個用來檢查屬性值是否為空。(yii\validators\RequiredValidator)

captcha——驗(yàn)證碼
這個主要是在界面使用驗(yàn)證碼的時候?qū)︱?yàn)證碼進(jìn)行驗(yàn)證的。(yii\captcha\CaptchaValidator)

match——正則表達(dá)式
這個就比較強(qiáng)大了,用來檢測屬性值是否匹配給出的正則。上面所列出的基本都可以用這個實(shí)現(xiàn)。(yii\validators\RegularExpressionValidator)

其它:

safe——安全
這個不進(jìn)行驗(yàn)證,僅僅用來指定屬性值是安全的。(yii\validators\SafeValidator)

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Yii2驗(yàn)證器Validator怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI