yii rules最全規則

本文采用Yii文檔,經過自己的修改,讓讀者更容易理解
預定義完整列表:

  • boolean : CBooleanValidator 的別名, 確保屬性的值是CBooleanValidator::trueValue 或CBooleanValidator::falseValue .
  • captcha : CCaptchaValidator 的別名,確保了特性的值等於 CAPTCHA 顯示出來的驗證碼.
  • compare : CCompareValidator 的別名, 確保了特性的值等於另一個特性或常量.
  • email : CEmailValidator 的別名,確保了特性的值是一個有效的電郵地址.
  • default : CDefaultValueValidator 的別名, 爲特性指派了一個默認值.
  • exist : CExistValidator 的別名, 確保屬性值存在於指定的數據表字段中.
  • file : CFileValidator 的別名, 確保了特性包含了一個上傳文件的名稱.
  • filter : CFilterValidator 的別名, 使用一個filter轉換屬性.
  • in : CRangeValidator 的別名, 確保了特性出現在一個預訂的值列表裏.
  • length : CStringValidator 的別名, 確保了特性的長度在指定的範圍內.
  • match : CRegularExpressionValidator 的別名, 確保了特性匹配一個正則表達式.
  • numerical : CNumberValidator 的別名, 確保了特性是一個有效的數字.
  • required : CRequiredValidator 的別名, 確保了特性不爲空.
  • type : CTypeValidator 的別名, 確保了特性爲指定的數據類型.
  • unique : CUniqueValidator 的別名, 確保了特性在數據表字段中是唯一的.
  • url : CUrlValidator 的別名, 確保了特性是一個有效的路徑

注:下列數組中第一個值和第二個值爲必填項,message的值爲錯誤提示信息

  1. reqiurd(CRequiredValidator)-----必須驗證屬性:
    實例:array('name', 'required', 'requiredValue'=> '張', 'strict'=> true, 'message'=> '請填寫姓名')
    講解:
  • requiredValue------mixed-----所需的值
  • strict-------boolean------是否比較嚴格
    ====================================================
  1. filter(CFilterValidator )-----過濾驗證方法:
    實例:array('name', 'test', 'message'=> '請填寫姓名')
     public function test($object, $attributes) {
         if($this->name != '張先森') {
             $this->addError($object, $attributes['message']);
         }
     }

講解:

  • filter----方法名(調用用戶自己定義的函數)
    ====================================================
  1. match(CRegularExpressionValidator)-----正則驗證屬性:
    實例:array('name', 'match', 'allowEmpty'=> 'true', 'not'=> 'true','pattern'=> '/[a-z]/i', 'message'=> '必須不是子母')
    講解:
  • allowEmpty------boolean-----是否可以爲空(默認爲true)
  • not-------boolean------是否反轉驗證邏輯
  • pattern-------boolean------正則方法
    ====================================================
  1. email(CEmailValidator)-----郵箱驗證屬性:
    實例:array('name', 'email', 'allowEmpty'=> 'true','pattern'=> '/[a-z]/i', 'message'=> '必須不是子母')
    講解:
  • allowEmpty------boolean-----是否可以爲空(默認爲true)
  • pattern-------boolean------正則方法
  • allowName-------boolean------是否允許在電子郵件地址的名稱
  • checkMx-------boolean------是否檢查電子郵件地址的MX記錄
    ====================================================
  1. url(CUrlValidator)-----url驗證屬性:
    實例:array('name', 'url', 'allowEmpty'=> 'true','pattern'=> '/[a-z]/i', 'message'=> '必須不是子母')
    講解:
  • allowEmpty------boolean-----是否可以爲空(默認爲true)
  • pattern-------boolean------正則方法
  • defaultScheme-------boolean------默認的URL方案
  • validSchemes-------boolean------清單應視爲有效的URL計劃
    ====================================================
  1. unique(CUniqueValidator)-----唯一性驗證屬性:
    實例:array('name', 'unique', 'allowEmpty'=> 'true','caseSensitive'=> 'true', 'message'=> '必須不是子母')
    講解:
  • allowEmpty-----------是否可以爲空(默認爲true)
  • caseSensitive-------------區分大小寫
    ====================================================
  1. compare(CCompareValidator)-----比較驗證屬性:
    實例:
    與某個值比:array('name', 'compare', 'allowEmpty'=> 'true','compareValue'=> '10','operator'=> '>', 'message'=> '必須大於10')

    與某個提交的屬性比:array('name', 'compare', 'allowEmpty'=> 'true','compareAttribute'=> 'password','operator'=> '>', 'message'=> '必須大於password')
    講解:

  • allowEmpty-----------是否可以爲空(默認爲true)
  • compareAttribute-------------需要比較的屬性
  • compareValue-------------需要比較的值
  • operator-------------比較運算符
  • strict-------------嚴格執行(值和類型都要相等)
    ====================================================
  1. length(CStringValidator)-----字符串驗證屬性:
    實例:
    是否在某個範圍內:array('name', 'length', 'allowEmpty'=> 'true','max'=> '10','min'=> '5', 'tooLong'=> '太長了','tooShort'=> '太短了')
    必須是某個長度:array('name', 'length', 'is'=> '5', 'message'=> '長度必須爲5')
    講解:
  • allowEmpty-----------是否可以爲空(默認爲true)
  • encoding-------------編碼
  • is-------------確切的長度
  • max-------------最大長度
  • min-------------最小長度
  • tooLong-------------定義值太大的錯誤
  • tooShort-------------定義值太大的錯誤
    ====================================================
  1. in(CRangeValidator)-----在某個範圍內屬性:
    實例:
    必須在某個範圍內:array('name', 'in', 'range'=> array(1,2,3,4,5),'message'=> '值必須爲1,2,3,4,5')
    不能在某個範圍內:array('name', 'in','not'=> 'true', 'range'=> array(1,2,3,4,5),'message'=> '值不能爲1,2,3,4,5')
    講解:
  • allowEmpty-----------是否可以爲空(默認爲true)
  • not-------------是否反轉的驗證邏輯
  • range-------------array範圍
  • strict-------------嚴格執行(值和類型都要相等)
    ====================================================
  1. numerical(CNumberValidator)-----數字驗證屬性:
    實例:
    必須爲整數:array('name', 'numerical', 'integerOnly'=> 'true', 'message'=> '值必須爲整數')
    值必須在一個範圍內:array('name', 'numerical', 'integerOnly'=> 'true', 'message'=> '值必須爲整數', 'max'=> '100', 'min'=> '10','tooBig'=> '值太大了','tooSmall'=> '值太小了')
    講解:
  • allowEmpty-----------是否可以爲空(默認爲true)
  • integerOnly-------------整數
  • integerPattern-------------正則表達式匹配整數
  • max-------------最大值
  • min-------------最小值
  • numberPattern-------------匹配號碼
  • tooBig-------------值太大時的提示
  • tooSmall-------------值太小時的提示
    ====================================================
  1. captcha(CCaptchaValidator)-----驗證碼驗證屬性:
    實例:array('name', 'captcha', 'caseSensitive'=> 'true', 'message'=> '驗證碼不正確')
    講解:
  • allowEmpty-----------是否可以爲空(默認爲true)
  • caseSensitive-------------區分大小寫
    ====================================================
  1. type(CTypeValidator)-----類型驗證屬性:
    實例:array('name', 'type', 'dateFormat'=> 'MM/dd/yyyy', 'type'=> 'date', 'message'=> '類型不正確')
    講解:
  • allowEmpty-----------是否可以爲空(默認爲true)
  • dateFormat-------------日期應遵循的格式模式('MM/dd/yyyy')
  • datetimeFormat-------------日期時間應遵循的格式模式('MM/dd/yyyy hh:mm')
  • timeFormat-------------時間應遵循的格式模式('hh:mm')
  • type-------------類型 ‘string’, ‘integer’, ‘float’, ‘array’, ‘date’, ‘time’, ‘datetime’
    ====================================================
  1. file(CFileValidator)-----文件驗證屬性:
    實例:array('name', 'file', 'types'=> array('jpg','gif','png'), 'message'=> '文件格式不正確')
    講解:
  • allowEmpty-----------是否可以爲空(默認爲true)
  • maxFiles-----------最大文件數
  • maxSize-----------文件最大值
  • minSize-----------文件最小值
  • tooLarge-----------文件太大的錯誤信息
  • tooMany-----------文件太多的錯誤信息
  • tooSmall-----------文件太小的錯誤信息
  • types-----------允許的擴展名
  • wrongType-----------擴展名錯誤時的錯誤信息
    ====================================================
  1. default(CDefaultValueValidator)-----默認值屬性:
    實例:array('name', 'default', 'setOnEmpty'=> 'true', 'value'=> '123')
    講解:
  • setOnEmpty-----------設置爲空
  • value-----------默認值
    ====================================================
  1. exist(CExistValidator)-----是否存在屬性:
    講解:
  • allowEmpty-----------是否可以爲空(默認爲true)
  • attributeName-----------屬性名稱
  • className-----------類名
  • criteria-----------標準
    ====================================================
  1. boolean(CBooleanValidator)-----布爾類型驗證屬性:
    實例:array('name', 'boolean', 'trueValue'=> '1', 'falseValue'=> '-1','message'=> '該值只能爲1或-1')
    講解:
  • allowEmpty-----------是否可以爲空(默認爲true)
  • falseValue-----------錯誤狀態的值
  • strict-----------嚴格驗證
  • trueValue-----------真實狀態的值
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章