<?php namespace app\index\controller; //use app\validate\User; use app\index\facade\User; use think\Controller; class Demo9 extends Controller { //一、驗證器:使用Validate類中的rule屬性 public function test1() { //要驗證的數據 $data=[ 'name'=>'yht12345', 'email'=>'45501@qq.com', 'password'=>'123456', 'mobile'=>'15988889999' ]; //驗證器是一個類 // $validate=new User(); // if(!$validate->check($data)){ // return $validate->getError(); // } //使用當前驗證器的靜態代理 if(!User::check($data)){ return User::getError(); } return '驗證經過'; }
//調用控制器中的validate方法進行驗證:使用用戶自定義的驗證器 public function test2() { //$this->validate($data,$validate);返回驗證結果 //要驗證數據 $data=[ 'name'=>'yht12345', 'email'=>'45501@qq.com', 'password'=>'123456', 'mobile'=>'15988889999' ]; //驗證規則 $validate='app\validate\User'; $res=$this->validate($data,$validate); if($res !== true){ return $res; } return '驗證經過'; }
}
<?php //用戶信息表的字段驗證器類 namespace app\validate; use think\Validate; class User extends Validate { // protected $rule=[ 'name|姓名'=>[ 'require', 'max'=>20, 'min'=>5, ], 'email|郵件'=>[ 'require', 'email', ], 'password|密碼'=>[ 'require', 'max'=>12, 'min'=>3, 'alphaNum', ], 'mobile|手機'=>[ 'require', 'mobile', ], ]; }
<?php namespace app\index\facade; use think\Facade; class User extends Facade { protected static function getFacadeClass() { return 'app\validate\User'; } }
利用thinkphp裏面的validate類進行驗證php