Laravel 验证 DTO 包
发布日期:作者: Paul Redmond
Laravel 的 Validated DTO 包为 Laravel 提供了带有验证和类型转换的数据传输对象 (DTO)。如果你在你的应用程序中使用 DTO 在系统之间传输数据,你可能也希望验证传入的请求数据。这个包可以像验证请求数据一样集中验证 DTO 对象。
class UserDTO extends ValidatedDTO{ /** * @return array */ protected function rules(): array { return [ 'name' => ['required', 'string'], 'email' => ['required', 'email'], 'password' => [ 'required', Password::min(8) ->mixedCase() ->letters() ->numbers() ->symbols() ->uncompromised(), ], ]; }}
我还喜欢你可以从请求对象创建 DTO 实例的方式,例如以下示例
public function store(Request $request): JsonResponse{ $dto = UserDTO::fromRequest($request);}
以下是该包最新文档中列出的主要功能
- 轻松将其集成到你的现有项目中
- 像验证请求一样验证数据
- 轻松定义自定义验证消息
- 支持类型化属性
- 你的 DTO 属性开箱即用的类型转换
- 支持嵌套数据的转换
- 轻松创建自定义类型转换器来满足你的需求
一定要查看 文档,其中包含设置说明、使用示例和类型转换详细信息。源代码也可以在 GitHub 上获得,地址为 laravel-validated-dto。