Thinkphp 如何自動驗證及驗證規則
在新增資料或者建立資料的時候,我們一般對資料進行處理,ThinkPHP模型層提供的一種資料驗證方法,可以在使用create建立資料物件的時候自動進行資料驗證。
1,自動驗證的用法
namespace Home\Model; use Think\Model; class UserModel extends Model{ protected $_validate = array( array('verify','require','驗證碼必須!'), //預設情況下用正則進行驗證 array('name','','帳號名稱已經存在!',0,'unique',1), // 在新增的時候驗證name欄位是否唯一 array('value',array(1,2,3),'值的範圍不正確!',2,'in'), // 當值不為空的時候判斷是否在一個範圍內 array('repassword','password','確認密碼不正確',0,'confirm'), // 驗證確認密碼是否和密碼一致 array('password','checkPwd','密碼格式不正確',0,'function'), // 自定義函式驗證密碼格式 ); }
定義好驗證規則後,就可以在使用create方法建立資料物件的時候自動呼叫:
$User = D("User"); // 例項化User物件 if (!$User->create()){ // 如果建立失敗 表示驗證沒有通過 輸出錯誤提示資訊 exit($User->getError()); }else{ // 驗證通過 可以進行其他資料操作 }
2,驗證規則
資料驗證有兩種方式:
靜態方式:在模型類裡面通過$_validate屬性定義驗證規則。 動態方式:使用模型類的validate方法動態建立自動驗證規則。
文章來自 www.huthon.com