將 Yii 中比較常用的rules驗證規則記錄一下,回頭認真研究一下。
return array( //必須填寫 array('email, username, password,agree,verifyPassword,verifyCode', 'required'), //檢查用戶名是否重復 array('email','unique','message'=>'用戶名已占用'), //用戶輸入最大的字符限制 array('email, username', 'length', 'max'=>64), //限制用戶最小長度和最大長度 array('username', 'length', 'max'=>7, 'min'=>2, 'tooLong'=>'用戶名請輸入長度為4-14個字符', 'tooShort'=>'用戶名請輸入長度為2-7個字'), //限制密碼最小長度和最大長度 array('password', 'length', 'max'=>22, 'min'=>6, 'tooLong'=>'密碼請輸入長度為6-22位字符', 'tooShort'=>'密碼請輸入長度為6-22位字符'), //判斷用戶輸入的是否是郵件 array('email','email','message'=>'郵箱格式錯誤'), //檢查用戶輸入的密碼是否是一樣的 array('verifyPassword', 'compare', 'compareAttribute'=>'password', 'message'=>'請再輸入確認密碼'), //檢查用戶是否同意協議條款 array('agree', 'required', 'requiredValue'=>true,'message'=>'請確認是否同意隱私權協議條款'), //判斷是否是日期格式 array('created', 'date', 'format'=>'yyyy/MM/dd/ HH:mm:ss'), //判斷是否包含輸入的字符 array('superuser', 'in', 'range' => array(0, 1)), //正則驗證器: array('name','match','pattern'=>'/^[a-z0-9\-_]+$/'), //數字驗證器: array('id', 'numerical', 'min'=>1, 'max'=>10, 'integerOnly'=>true), //類型驗證 integer,float,string,array,date,time,datetime array('created', 'type', 'datetime'), //文件驗證: array('filename', 'file', 'allowEmpty'=>true, 'types'=>'zip, rar, xls, pdf, ppt','tooLarge'=>'圖片不要超過800K'), array('url', 'file', //定義為file類型 'allowEmpty'=>true, 'types'=>'jpg,png,gif,doc,docx,pdf,xls,xlsx,zip,rar,ppt,pptx', //上傳文件的類型 'maxSize'=>1024*1024*10, //上傳大小限制,注意不是php.ini中的上傳文件大小 'tooLarge'=>'文件大於10M,上傳失敗!請上傳小於10M的文件!' ), );