axm / validation
简单,规则的验证
这个包的官方仓库似乎已消失,因此该包已被冻结。
1.0.9
2024-01-22 12:39 UTC
Requires
- php: ^8.0
Requires (Dev)
- phpunit/phpunit: ^9.6
README
当然!以下是关于 Validator
类的全面文档,包括如何使用它的示例。本文档格式化以适应 GitHub
Validator 类
Validator
类是 PHP 应用中进行数据验证的多功能工具。它允许您定义验证规则并检查数据是否符合这些规则。本文档提供了关于使用 Validator
类的深入指南。
目录
1. 类概述
Validator
类提供以下功能
- 根据用户定义的规则验证数据。
- 支持自定义验证规则。
- 规则链,用于复杂的验证场景。
- 详细的错误报告,带有可定制的错误信息。
2. 安装
要使用 Validator
类,请按照以下步骤操作
composer require axm/validation
3. 基本用法
以下是如何使用 Validator
类的简单示例
use Axm\Validation\Validator; $rules = [ 'username' => 'required|string|min:5|max:20', 'email' => 'required|email', ]; $data = [ 'username' => 'john_doe', 'email' => 'johndoe@example.com', ]; $validator = Validator::make($rules, $data); if ($validator->validate()) { echo "Data is valid!"; } else { $errors = $validator->getErrors(); print_r($errors); }
4. 验证规则
Validator
类支持多种验证规则,包括 required
、string
、email
、min
、max
以及自定义规则。您可以使用 |
分隔符将规则链接起来。
可用规则
required
:确保字段存在且不为空。string
:检查字段是否为字符串。email
:验证字段作为电子邮件地址。min:value
:检查字段长度或值是否大于或等于value
。max:value
:检查字段长度或值是否小于或等于value
。- 自定义规则:您可以定义自己的自定义验证规则。
5. 高级用法
自定义验证规则
您可以通过定义一个实现 Axm\Validation\Rules\RuleInterface
的类来创建自定义验证规则。以下是一个示例
use Axm\Validation\Rules\RuleInterface; class CustomRule implements RuleInterface { public function validate($value, array $parameters = []): bool { // Implement your custom validation logic here. return /* validation result */; } public function message(): string { // Define a custom error message for this rule. return 'Custom validation failed.'; } }
添加自定义规则
要将自定义规则添加到 Validator
,请使用 addRules
方法
$customRules = [ 'custom_rule' => CustomRule::class, ]; $validator->addRules($customRules);
6. 示例
以下是如何使用 Validator
类的更多示例
示例 1:条件验证
$rules = [ 'password' => 'required|string|min:8', 'confirm_password' => 'required|string|same:password', ]; $data = [ 'password' => 'mysecurepassword', 'confirm_password' => 'mysecurepassword', ]; $validator = Validator::make($rules, $data);
示例 2:唯一规则
$rules = [ 'email' => 'required|string|unique:users,email', ]; $data = [ 'email' => 'johndoe@example.com', ]; $validator = Validator::make($rules, $data);
7. 贡献
如果您想为 Validator
类做出贡献,请遵循贡献指南。
8. 许可证
Validator
类是开源软件,采用MIT 许可证。
本文档应帮助您开始使用 Validator
类,并演示各种用例。有关更详细和高级的使用,请参阅GitHub 仓库中提供的类源代码和示例。
请根据您项目的需要自由调整和扩展此文档。