1. 程式人生 > >Thinkphp 如何自動驗證及驗證規則

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