mangel1196 / form-request
form-request 是一个 Lumen 的包,允许开发者像 Laravel 一样验证表单请求。来自 ssi-anik 仓库
dev-main
2023-07-19 22:04 UTC
Requires
- php: ^7.2|^8.0|^8.1
- illuminate/support: ^6.0|^7.0|^8.0|^9.0|^10
Requires (Dev)
- anik/testbench-lumen: ^1.0
This package is not auto-updated.
Last update: 2024-09-27 02:21:29 UTC
README
Form-Request

一个帮助开发者将验证逻辑从控制器分离到独立专用类的包。Lumen 没有像 Laravel 那样的 FormRequest
类。这将允许你做到这一点。
安装
- 通过在项目目录下运行
composer require anik/form-request
来安装包。 - 将
\Anik\Form\FormRequestServiceProvider::class
注册到bootstrap/app.php
作为服务提供者。
// bootstrap/app.php $app->register(\Anik\Form\FormRequestServiceProvider::class);
如何使用?
- 创建一个扩展
Anik\Form\FormRequest
类的类。 - 你必须覆盖
Anik\Form\FormRequest
类的rules
方法。在其中定义你的验证规则。必须返回一个 数组。 - 你可以通过覆盖
messages
方法来定义验证 消息。默认是[]
。 - 你可以通过覆盖
attributes
方法来定义自定义的漂亮 属性 名称。默认是[]
。 - 你可以覆盖
authorize
方法来定义客户端是否有权提交表单的授权逻辑。必须返回一个布尔值。默认是true
。当返回false
时,将抛出\Illuminate\Auth\Access\AuthorizationException
异常。 - 如果验证失败,它将抛出
Illuminate\Validation\ValidationException
。- 默认情况下,它以
{"message": "The given data was invalid.", "errors": []}
格式返回响应,状态码为422
。如果你想修改响应,请在app/Exceptions/Handler.php
的render
方法中处理异常。 - 覆盖
statusCode
方法以返回你选择的状态。必须返回int
。默认是422
。 - 覆盖
errorMessage
方法以返回你选择的消息。必须返回string
。默认是The given data was invalid.
- 覆盖
errorResponse
方法以在验证失败时返回你选择响应。必须返回类型为\Symfony\Component\HttpFoundation\Response
或null
之一。
- 默认情况下,它以
- 现在你可以通过方法注入注入你的 Request 类。所有
Laravel\Lumen\Http\Request
类的方法都可用在你的请求类中。 FormRequest::validated()
方法将在验证通过时返回验证后的数据。