从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类,不必让一个表单请求类承担多个请求的验证职责,这样从可读性上看起来也清晰一点
喵喔喔
TA贡献1735条经验 获得超5个赞
例如:Http\Requests\Article\StoreArticleRequest.php
-- 创建文章的表单请求类Http\Requests\Article\UpdateArticleRequest.php
-- 更新文章内容Http\Requests\User\UpdateUserInfoRequest.php
-- 更新用户信息
- 2 回答
- 0 关注
- 1851 浏览
添加回答
举报
0/150
提交
取消