rewake / lumen-validation
Lumen的增强验证
dev-develop / 0.1.1.x-dev
2019-11-01 15:09 UTC
Requires
- illuminate/translation: ^5.2
- illuminate/validation: ^5.2
This package is auto-updated.
Last update: 2024-09-29 04:42:49 UTC
README
注意:此包适用于Lumen v5。对于Lumen v6,请使用https://github.com/rewake/lumen-validation-v6
此库为illuminate/validation
包提供增强,可以验证对象和类,而不仅仅是数组。默认的Lumen验证器已被包装,因此所有现有的验证功能应该都是可用的,然而这还没有完全测试。
还提供了一个ValidationRuleInterface
,以便验证规则可以按使用和代码分离的便利性进行分类。
注册验证器
包括一个服务提供者,以便从app.php
配置轻松注册验证服务。
$app->register(Rewake\Lumen\Providers\ValidationServiceProvider::class);
注意:此服务提供者将覆盖lumen中的默认app('validator')
别名,目前尚未完全测试。如果您希望保持它们分开(或需要保持分开),您可以创建一个新的提供者来实现。
示例
public function register()
{
// Register Validation Service
$this->app->singleton(
'validation_service',
\Rewake\Lumen\Services\ValidationService::class
);
}
示例验证类及使用方法
类
<?php
namespace App\Validation;
use Rewake\Lumen\Validation\ValidationRuleInterface;
class ExampleValidation implements ValidationRuleInterface
{
public static function descriptor()
{
return [];
}
public static function rules()
{
return [
"first" => [
'required',
'string'
],
"last" => [
'required',
'string'
],
"id" => [
'required',
'integer'
]
];
}
public static function messages()
{
return [];
}
}
使用
app('validator')->validate($data, ExampleValidation::class);