Laravel开发中的表单请求、模型保护与命令行工具使用
1. 使用表单请求
在创建表单请求对象后,使用它是Laravel的一项特性。任何将表单请求作为参数进行类型提示的路由(闭包或控制器方法),都能受益于该表单请求的定义。示例代码如下:
Route::post('comments', function (App\Http\Requests\CreateCommentRequest $request) {
// Store comment
});
这里无需手动调用表单请求,Laravel会自动验证用户输入并授权请求。若输入无效,它的处理方式与控制器中的 validate() 方法相同,会将用户重定向到上一页,保留用户输入并传递相应的错误消息;若用户未获授权,Laravel将返回403禁止访问错误,且不执行路由代码。
2. Eloquent模型批量赋值
此前,我们主要在控制器层面进行验证,这是很好的起点,但也可以在模型层面过滤传入的数据。常见做法是将表单的全部输入直接传递给数据库模型,示例如下:
Route::post('posts', function (Request $request) {
$newPost = Post::create($request->all());
});
这里假设用户是善意的,只编辑我们允许的字段,如文章标题或正文。但如果用户猜出 posts
超级会员免费看
订阅专栏 解锁全文
105

被折叠的 条评论
为什么被折叠?



