發(fā)表日期:2018-12 文章編輯:小燈 瀏覽次數(shù):3127
版本 | 新增功能 |
---|---|
5.0.4 | 增加hasScene 方法用于檢查是否存在驗證場景 |
可以在定義驗證規(guī)則的時候定義場景,并且驗證不同場景的數(shù)據(jù),例如:
$rule = ['name'=> 'require|max:25','age' => 'number|between:1,120','email' => 'email',];$msg = ['name.require' => '名稱必須','name.max' => '名稱最多不能超過25個字符','age.number' => '年齡必須是數(shù)字','age.between'=> '年齡只能在1-120之間','email'=> '郵箱格式錯誤',];$data = ['name'=> 'thinkphp','age' => 10,'email' => 'thinkphp@qq.com',];$validate = new Validate($rule);$validate->scene('edit', ['name', 'age']);$result = $validate->scene('edit')->check($data);
表示驗證edit場景(該場景定義只需要驗證name和age字段)。
如果使用了驗證器,可以直接在類里面定義場景,例如:
namespace app\index\validate;use think\Validate;class User extends Validate{protected $rule = ['name'=> 'require|max:25','age' => 'number|between:1,120','email' => 'email',];protected $message= ['name.require' => '名稱必須','name.max' => '名稱最多不能超過25個字符','age.number' => '年齡必須是數(shù)字','age.between'=> '年齡只能在1-120之間','email'=> '郵箱格式錯誤',];protected $scene = ['edit'=>['name','age'],];}
然后再需要驗證的地方直接使用 scene 方法驗證
$data = ['name'=> 'thinkphp','age' => 10,'email' => 'thinkphp@qq.com',];$validate = new \app\index\validate\User($rule);$result = $validate->scene('edit')->check($data);
可以在定義場景的時候?qū)δ承┳侄蔚囊?guī)則重新設(shè)置,例如:
namespace app\index\validate;use think\Validate;class User extends Validate{protected $rule = ['name'=> 'require|max:25','age' => 'number|between:1,120','email' => 'email',];protected $message= ['name.require' => '名稱必須','name.max' => '名稱最多不能超過25個字符','age.number' => '年齡必須是數(shù)字','age.between'=> '年齡只能在1-120之間','email'=> '郵箱格式錯誤',];protected $scene = ['edit'=>['name','age'=>'require|number|between:1,120'],];}
可以對場景設(shè)置一個回調(diào)方法,用于動態(tài)設(shè)置要驗證的字段,例如:
$rule = ['name'=> 'require|max:25','age' => 'number|between:1,120','email' => 'email',];$msg = ['name.require' => '名稱必須','name.max' => '名稱最多不能超過25個字符','age.number' => '年齡必須是數(shù)字','age.between'=> '年齡只能在1-120之間','email'=> '郵箱格式錯誤',];$data = ['name'=> 'thinkphp','age' => 10,'email' => 'thinkphp@qq.com',];$validate = new Validate($rule);$validate->scene('edit', function($key,$data){return 'email'==$key && isset($data['id'])? true : false;});$result = $validate->scene('edit')->check($data);
日期:2018-12 瀏覽次數(shù):4806
日期:2018-12 瀏覽次數(shù):5068
日期:2018-12 瀏覽次數(shù):4156
日期:2018-12 瀏覽次數(shù):3516
日期:2018-12 瀏覽次數(shù):3897
日期:2018-12 瀏覽次數(shù):3472
日期:2018-12 瀏覽次數(shù):3518
日期:2018-12 瀏覽次數(shù):6330
日期:2018-12 瀏覽次數(shù):3298
日期:2018-12 瀏覽次數(shù):3403
日期:2018-12 瀏覽次數(shù):3512
日期:2018-12 瀏覽次數(shù):4634
日期:2018-12 瀏覽次數(shù):3038
日期:2018-12 瀏覽次數(shù):3346
日期:2018-12 瀏覽次數(shù):3153
日期:2018-12 瀏覽次數(shù):3014
日期:2018-12 瀏覽次數(shù):3407
日期:2018-12 瀏覽次數(shù):3269
日期:2018-12 瀏覽次數(shù):4356
日期:2018-12 瀏覽次數(shù):3835
日期:2018-12 瀏覽次數(shù):3341
日期:2018-12 瀏覽次數(shù):4091
日期:2018-12 瀏覽次數(shù):3126
日期:2018-12 瀏覽次數(shù):3097
日期:2018-12 瀏覽次數(shù):3080
日期:2018-12 瀏覽次數(shù):3211
日期:2018-12 瀏覽次數(shù):3510
日期:2018-12 瀏覽次數(shù):3303
日期:2018-12 瀏覽次數(shù):3244
日期:2018-12 瀏覽次數(shù):3296
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.