woodynew / hyperf-validation
hyperf 验证
v3.0.19
2023-06-06 10:26 UTC
Requires
- php: >=8.0
- egulias/email-validator: ^4.0
- hyperf/collection: ~3.0.0
- hyperf/contract: ~3.0.0
- hyperf/database: ~3.0.0
- hyperf/di: ~3.0.0
- hyperf/framework: ~3.0.0
- hyperf/http-server: ~3.0.0
- hyperf/macroable: ~3.0.0
- hyperf/support: ~3.0.0
- hyperf/tappable: ~3.0.0
- hyperf/translation: ~3.0.0
- hyperf/utils: ~3.0.0
- nesbot/carbon: ^2.21
- psr/container: ^1.0|^2.0
- psr/event-dispatcher: ^1.0
- psr/http-message: ^1.0|^2.0
This package is auto-updated.
Last update: 2024-09-30 01:54:39 UTC
README
关于
woodynew/hyperf-validation 组件是由 Laravel Validation
组件衍生而来,我们对它进行了一些改造,大部分功能保持了相同。在此感谢 Laravel 开发组,实现了如此强大好用的 Validation 组件。
安装
composer require woodynew/hyperf-validation
配置
发布配置文件
# 发布国际化配置,已经发布过国际化配置可以省略
php bin/hyperf.php vendor:publish hyperf/translation
php bin/hyperf.php vendor:publish woodynew/hyperf-validation
配置路径
your/config/path/autoload/translation.php
配置
<?php return [ 'locale' => 'zh_CN', 'fallback_locale' => 'en', 'path' => BASE_PATH . '/storage/languages', ];
异常处理器
<?php return [ 'handler' => [ 'http' => [ \Hyperf\Validation\ValidationExceptionHandler::class, ], ], ];
验证中间件
<?php return [ 'http' => [ \Hyperf\Validation\Middleware\ValidationMiddleware::class, ], ];
用法
生成表单请求
命令
php bin/hyperf.php gen:request FooRequest
用法
class IndexController { public function foo(FooRequest $request) { $request->input('foo'); } public function bar(RequestInterface $request) { $factory = $this->container->get(\Hyperf\Validation\Contract\ValidatorFactoryInterface::class); $factory->extend('foo', function ($attribute, $value, $parameters, $validator) { return $value == 'foo'; }); $factory->replacer('foo', function ($message, $attribute, $rule, $parameters) { return str_replace(':foo', $attribute, $message); }); $validator = $factory->make( $request->all(), [ 'name' => 'required|foo', ], [ 'name.foo' => ':foo is not foo', ] ); if (!$validator->passes()) { $validator->errors(); } } }