wt-health / laravel-json-schema-request
类似于 FormRequests,但用于验证 JSON-schema
v2.0.0
2023-06-28 03:29 UTC
Requires
- php: ^8.0|^8.1|^8.2
- illuminate/support: ^8.0|^9.0|^10.0
- justinrainbow/json-schema: ^5.2
Requires (Dev)
- orchestra/testbench: ^v7.25.0
- phpunit/phpunit: ^9.2
- scrutinizer/ocular: ^1.9
- webtoolshealth/php-coding-standard: ^1.0
This package is auto-updated.
Last update: 2024-08-29 23:29:13 UTC
README
Laravel 的 JSON Schema 文档表单请求验证
安装
composer require wt-health/laravel-json-schema-request
使用方法
开发体验与 Laravel 的 Form Request Validation 相同,只是您需要编写一个 JSON Schema 而不是 Laravel 验证规则。
您可以使用 make:json-request
命令创建一个新的请求
artisan make:json-request MyJsonRequest
现在您将拥有一个新的请求类 App\Http\Requests\MyJsonRequest
,下面是一个基本示例 schema。
<?php namespace App\Http\Requests; use Wthealth\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)。请参阅 许可证文件 获取更多信息。