webtoolsnz / laravel-json-schema-request
类似于FormRequests,但用于与json-schema进行验证
1.0.0
2020-06-18 22:56 UTC
Requires
- php: ^7.4
- illuminate/support: ^7.0
- justinrainbow/json-schema: ^5.2
Requires (Dev)
- orchestra/testbench: ^5.3
- phpunit/phpunit: ^9.2
This package is auto-updated.
Last update: 2024-09-20 08:12:11 UTC
README
Laravel的JSON Schema文档的表单请求验证
安装
composer require webtoolsnz/laravel-json-schema-request
用法
开发体验与Laravel的表单请求验证相同,但你只需编写JSON Schema。
您可以使用make:json-request
命令创建新的请求
artisan make:json-request MyJsonRequest
现在您将拥有新的请求类App\Http\Requests\MyJsonRequest
,以下是一个基本的示例schema。
<?php namespace App\Http\Requests; use Webtools\JsonSchemaRequest\JsonSchemaRequest; class MyJsonRequest extends JsonSchemaRequest { public function schema(): array { return [ 'type' => 'object', 'properties' => [ 'first_name' => ['type' => 'string'], 'last_name' => ['type' => 'string'], 'email' => ['type' => 'string', 'format' => 'email'], ], 'required' => ['first_name', 'last_name', 'email'], 'additionalProperties' => false, ]; } }
一旦您有了JsonSchemaRequest
对象,您只需要在控制器方法中对请求进行类型提示。在调用控制器方法之前,会对传入的表单请求进行验证。
public function store(MyJsonRequest $request) { // The incoming request is valid... // Retrieve the validated input data... $validated = $request->validated(); }
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。