axm/validation

简单,规则的验证

这个包的官方仓库似乎已消失,因此该包已被冻结。

1.0.9 2024-01-22 12:39 UTC

This package is auto-updated.

Last update: 2024-02-22 12:54:36 UTC


README

Total Downloads Latest Stable Version License

当然!以下是关于 Validator 类的全面文档,包括如何使用它的示例。本文档格式化以适应 GitHub

Validator 类

Validator 类是 PHP 应用中进行数据验证的多功能工具。它允许您定义验证规则并检查数据是否符合这些规则。本文档提供了关于使用 Validator 类的深入指南。

目录

  1. 类概述
  2. 安装
  3. 基本用法
  4. 验证规则
  5. 高级用法
  6. 示例
  7. 贡献
  8. 许可协议

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 类支持多种验证规则,包括 requiredstringemailminmax 以及自定义规则。您可以使用 | 分隔符将规则链接起来。

可用规则
  • 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 仓库中提供的类源代码和示例。

请根据您项目的需要自由调整和扩展此文档。