legatus / validator
PSR-7 的 HTTP 验证库
0.1.0
2020-07-25 22:24 UTC
Requires
- php: >=7.4
- psr/http-message: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- infection/infection: ^0.16.4
- phpunit/phpunit: ^9.0
- vimeo/psalm: ^3.7
This package is auto-updated.
Last update: 2024-09-26 08:14:00 UTC
README
PSR-7 的 HTTP 验证库
安装
您可以使用 Composer 安装 Validator 组件。
composer require legatus/validator
快速开始
<?php $validator = Legatus\Http\Validator::build($psr7Request) ->body('id')->required()->uuid() ->body('name.first')->string()->required() ->body('name.middle')->string() ->body('name.last')->string()->required() ->body('password')->string()->required()->min(6)->password()->max(30) ->body('birthdate')->string()->date()->before('-18years') ->body('promo_code')->custom(new Legatus\Http\PromoCode()) // And instance of rule or a callable ->body('emails.*')->email() ->body('addresses.*.lineOne')->required()->string() ->body('addresses.*.lineTwo')->string() ->body('addresses.*.city')->required()->string() ->body('addresses.*.zip')->string() ->body('addresses.*.country')->enum(['CL', 'GB', 'US']) ->getValidator(); try { $data = $validator->validate(); } catch (Legatus\Http\ValidationFailed $e) { // $data = $e->getData(); } [$id, $name, $password, $birthDate, $promoCode, $emails, $addresses] = $data->values();
更多详细信息,您可以在此处查看在线文档:在线文档。
项目状态与发布流程
虽然这个库仍在开发中,但它经过充分测试,应该足够稳定,可以在生产环境中使用。
当前版本号格式为 0.x.y。当引入非破坏性变更(添加新方法、优化现有代码等)时,y 增加一位。
当引入破坏性变更时,总是启动一个新的 0.x 版本周期。
因此,将您的项目锁定到某个发布周期(如 0.2.*)是安全的。
如果您需要升级到较新的发布周期,请查看 发布历史,以了解每个后续 0.x.0 版本引入的变更列表。
社区
我们还没有社区频道。如果您愿意帮忙建立,可以告诉我!
贡献
阅读贡献指南以了解您如何为 Legatus 贡献。
安全问题
请通过电子邮件私下报告安全问题,并在披露之前给我们一段宽限期。
关于 Legatus
Legatus 是由 Matías Navarro Carter 领导的个人开源项目,并由贡献者共同开发。