为了账号安全,请及时绑定邮箱和手机立即绑定

laravel 自定义验证器类加入场景

laravel 自定义验证器类加入场景

PHP
素胚勾勒不出你 2019-03-01 21:04:41
从thinkphp转入laravel 开阔了很多的思路,不得不说laravel真是一款很好的产品,尤其是在php项目代码标准和规范方面.但是thinkphp也有一些很好的地方,例如验证场景,有时候业务不同验证的字段有部分差别,例如,用户注册时密码字段是必须填写,但是在用户资料修改时密码是可选的.重定义一个验证器有些浪费, 用场景就可以很好的解决这些问题.在laravel中 做验证我一般是这样的1.生成表单请求类php artisan make:request StoreBlogPost2.StoreBlogPost.php 编写验证规则` public function rules(){    return [        'name'=>'required',        'email'=>'required|unique:users',        'password'=>'required|confirmed'     ]; }public function message(){ ..... }`3.控制器中验证    public function store(StoreBlogPost $request)     {         $user=User::create([           'name'=>$request->input('name'),           'email'=>$request->input('email'),           'password'=>bcrypt($request->password)         ]);         ....     }如何在验证器中加入验证场景,有成熟的扩展包也行.请各位大神提供一下建议,谢谢
查看完整描述

2 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

不是很清楚你为什么觉得定义多个表单请求类觉得有些浪费(关于TP场景这样的扩展包也没有听说过)
我认为你完全可以创建多个FormRequest类,不必让一个表单请求类承担多个请求的验证职责,这样从可读性上看起来也清晰一点

查看完整回答
反对 回复 2019-03-01
?
喵喔喔

TA贡献1735条经验 获得超5个赞

例如:
Http\Requests\Article\StoreArticleRequest.php -- 创建文章的表单请求类
Http\Requests\Article\UpdateArticleRequest.php -- 更新文章内容
Http\Requests\User\UpdateUserInfoRequest.php -- 更新用户信息

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 1851 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信