candasm / lafres
简单的 Laravel 表单请求清理器
v1.0.0
2017-09-16 15:54 UTC
Requires
- laravel/framework: ^5.0
This package is auto-updated.
Last update: 2024-09-10 05:40:32 UTC
README
我为什么创建这个包?
在 Laravel 框架中,清理器支持已经不再存在。实际上,当有表单输入验证时,这并不是必需的。但是,当您想要简单的表单过滤功能时,哎!除了写几行代码外,您别无选择。
它做什么?
移除从规则方法未返回的表单键。
安装
$ composer require candasm/laravel-form-request-sanitizer
如何使用它?
只需在您的应用程序抽象请求类中(例如,Controller 类)使用 SanitizeWhenResolvedTrait。
<?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use Candasm\Lafres\SanitizeWhenResolvedTrait; abstract class Request extends FormRequest { use SanitizeWhenResolvedTrait; // }
并在您的 FormRequest 类(例如 StoreBlogPostRequest)中使用 SanitizeFormRequest 接口。
<?php namespace App\Http\Requests; use App\Http\Requests\Request; use Candasm\Lafres\SanitizeFormRequest; class StoreBlogPostRequest extends Request implements SanitizeFormRequest { /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'title' => 'required|unique:posts|max:255', 'body' => 'required', ]; } }
对于这个例子,如果您收到如下所示的 POST 请求
[
'title' => 'test',
'body' => 'test',
'subject' => 'test',
]
并且您想从 $request 变量(它注入到您的控制器方法中)获取所有请求参数。
... public function store(StoreBlogPostRequest $request) { $attributes = $request->all(); $blogPost = BlogPost::create($attributes); } ...
BlogPost 模型将只接收这些参数
[
'title' => 'test',
'body' => 'test',
]