您好,登錄后才能下訂單哦!
這篇文章主要介紹了Yii2驗證器Validator怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
具體如下:
先看一下驗證器的使用。
public function rules() { return [ [['email', 'password'], 'required'], ['password', 'string', 'min'=>6], ]; }
如上所示,驗證器主要使用在rules里面,對當前model里面的屬性值進行驗證以檢查是否滿足某種要求。
驗證器使用格式:
書寫格式為:[需要驗證的屬性,驗證器名稱,驗證器參數]。
如果需要驗證的屬性為多個可用數組,如果為一個屬性可用字符串也可用數組來表示。
每個屬性都可以有多個驗證器,如上面的password使用了 required和string兩個驗證器。
常用驗證器:
Yii2已經內置了一些常用的驗證器。所有的驗證器都從基類yii\validators\Validator繼承實現。我大概總結下有這么幾類。
數字相關:
integer——整數
用來檢測屬性值是否為整數,以及最大、最小值檢測等。(yii\validators\NumberValidator)
double——浮點
用來檢測屬性值是否為浮點數,即小數。(yii\validators\NumberValidator)
number——數字
這個和上面的double完全相同,只是用了2個名稱。(yii\validators\NumberValidator)
格式相關:
date——日期
檢驗屬性值是否為正確的日期格式。(yii\validators\DateValidator)
email——郵件
檢測屬性值是否是正確的電子郵件格式。(yii\validators\EmailValidator)
url——URL
用來判斷屬性值是否是正確的url地址。(yii\validators\UrlValidator)
對值進行函數處理:
filter——過濾器
這個是對屬性值進行加工處理的。如對屬性值加前綴、替換特定的字符串等等。(yii\validators\FilterValidator)
trim——裁邊
這個是對屬性值進行加工處理的。只是去掉字符串兩側的空格、或指定的字符串。(yii\validators\FilterValidator)
上傳文件驗證:
file——文件
這個主要是對上傳的文件進行驗證,如格式、大小等。(yii\validators\FileValidator)
image——圖片
這個和上面的file驗證器差不多,不過是專門用來驗證圖片的。(yii\validators\ImageValidator)
判斷比較:
compare——比較
用來對兩個屬性值進行比較,如相等、大于、小于比較等。(yii\validators\CompareValidator)
in——包含(范圍)
用來檢測屬性值是否包含在指定的數組中。(yii\validators\RangeValidator)
exist——存在
用來檢測在數據表中是否已經存在此屬性值。(yii\validators\ExistValidator)
unique——唯一性
這個和exist差不多,用來檢測值是否是唯一。(yii\validators\UniqueValidator)
string——字符串
對屬性值進行長度判斷,如最大長度、最短長度等。(yii\validators\StringValidator)
boolean——布爾型
用來檢查屬性的值是否為布爾值。(yii\validators\BooleanValidator)
default——默認值
這個是用來給屬性設置默認值的。如當屬性值為null的時候,給它設置為 空的默認值。(yii\validators\DefaultValueValidator)
required——必填
這個用來檢查屬性值是否為空。(yii\validators\RequiredValidator)
captcha——驗證碼
這個主要是在界面使用驗證碼的時候對驗證碼進行驗證的。(yii\captcha\CaptchaValidator)
match——正則表達式
這個就比較強大了,用來檢測屬性值是否匹配給出的正則。上面所列出的基本都可以用這個實現。(yii\validators\RegularExpressionValidator)
其它:
safe——安全
這個不進行驗證,僅僅用來指定屬性值是安全的。(yii\validators\SafeValidator)
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Yii2驗證器Validator怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。