Yii2驗(yàn)證器(Validator)用法分析
來源:易賢網(wǎng) 閱讀:1172 次 日期:2016-08-11 14:16:47
溫馨提示:易賢網(wǎng)小編為您整理了“Yii2驗(yàn)證器(Validator)用法分析”,方便廣大網(wǎng)友查閱!

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

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

public function rules()

{

  return [

    [['email', 'password'], 'required'],

    ['password', 'string', 'min'=>6],

  ];

}

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

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

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

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

每個(gè)屬性都可以有多個(gè)驗(yàn)證器,如上面的password使用了 required和string兩個(gè)驗(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ù)字

這個(gè)和上面的double完全相同,只是用了2個(gè)名稱。(yii\validators\NumberValidator)

格式相關(guān):

date——日期

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

email——郵件

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

url——URL

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

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

filter——過濾器

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

trim——裁邊

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

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

file——文件

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

image——圖片

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

判斷比較:

compare——比較

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

in——包含(范圍)

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

exist——存在

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

unique——唯一性

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

string——字符串

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

boolean——布爾型

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

default——默認(rèn)值

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

required——必填

這個(gè)用來檢查屬性值是否為空。(yii\validators\RequiredValidator)

captcha——驗(yàn)證碼

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

match——正則表達(dá)式

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

其它:

safe——安全

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

希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:Yii2驗(yàn)證器(Validator)用法分析
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)