發表日期:2018-12 文章編輯:小燈 瀏覽次數:3298
如果你需要在控制器中進行驗證,并且繼承了\think\Controller
的話,可以調用控制器類提供的validate
方法進行驗證,如下:
$result = $this->validate(['name'=> 'thinkphp','email' => 'thinkphp@qq.com',],['name'=> 'require|max:25','email' => 'email',]);if(true !== $result){// 驗證失敗 輸出錯誤信息dump($result);}
如果定義了驗證器類的話,例如:
namespace app\index\validate;use think\Validate;class User extends Validate{protected $rule = ['name'=>'require|max:25','email' =>'email',];protected $message = ['name.require'=>'用戶名必須','email' =>'郵箱格式錯誤',];protected $scene = ['add' =>['name','email'],'edit'=>['email'],];}
控制器中的驗證代碼可以簡化為:
$result = $this->validate($data,'User');if(true !== $result){// 驗證失敗 輸出錯誤信息dump($result);}
如果要使用場景,可以使用:
$result = $this->validate($data,'User.edit');if(true !== $result){// 驗證失敗 輸出錯誤信息dump($result);}
在validate方法中還支持做一些前置的操作回調,使用方式如下:
$result = $this->validate($data,'User.edit',[],[$this,'some']);if(true !== $result){// 驗證失敗 輸出錯誤信息dump($result);}
日期:2018-12 瀏覽次數:4987
日期:2018-12 瀏覽次數:5274
日期:2018-12 瀏覽次數:4349
日期:2018-12 瀏覽次數:3704
日期:2018-12 瀏覽次數:4116
日期:2018-12 瀏覽次數:3668
日期:2018-12 瀏覽次數:3712
日期:2018-12 瀏覽次數:6527
日期:2018-12 瀏覽次數:3481
日期:2018-12 瀏覽次數:3584
日期:2018-12 瀏覽次數:3714
日期:2018-12 瀏覽次數:4839
日期:2018-12 瀏覽次數:3221
日期:2018-12 瀏覽次數:3536
日期:2018-12 瀏覽次數:3338
日期:2018-12 瀏覽次數:3222
日期:2018-12 瀏覽次數:3592
日期:2018-12 瀏覽次數:3461
日期:2018-12 瀏覽次數:4563
日期:2018-12 瀏覽次數:4009
日期:2018-12 瀏覽次數:3521
日期:2018-12 瀏覽次數:4330
日期:2018-12 瀏覽次數:3307
日期:2018-12 瀏覽次數:3297
日期:2018-12 瀏覽次數:3254
日期:2018-12 瀏覽次數:3413
日期:2018-12 瀏覽次數:3697
日期:2018-12 瀏覽次數:3488
日期:2018-12 瀏覽次數:3418
日期:2018-12 瀏覽次數:3473
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.