Yii2 驗證規則

驗證器的使用方法:正則表達式

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

如上所示,驗證器主要使用在rules裏面,對當前model裏面的屬性值進行驗證以檢查是否知足某種要求。數組

驗證器使用格式安全

書寫格式爲:[須要驗證的屬性,驗證器名稱,驗證器參數]yii

若是須要驗證的屬性爲多個可用數組,若是爲一個屬性可用字符串也可用數組來表示。函數

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

經常使用驗證器url

Yii2已經內置了一些經常使用的驗證器。全部的驗證器都從基類yii\validators\Validator繼承實現。我大概總結下有這麼幾類。spa

數字相關.net

  • integer——整數

用來檢測屬性值是否爲整數,以及最大、最小值檢測等。(yii\validators\NumberValidator)code

  • 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)
---------------------

源自博友的博客:https://blog.csdn.net/wjtlht928/article/details/46432413 

相關文章
相關標籤/搜索