yiisoft/validator

Yii 验证器

2.1.0 2024-09-12 12:10 UTC

This package is auto-updated.

Last update: 2024-09-12 12:10:53 UTC


README

Yii

Yii 验证器


Latest Stable Version Total Downloads Build status Code Coverage Mutation testing badge type-coverage static analysis psalm-level

此包提供数据验证功能。

特性

  • 验证任何数据:数组、对象、标量值等。
  • 支持自定义数据集。
  • 处理嵌套数据结构(一对一和一对多)。
  • 可以从 PHP 8 属性中读取验证规则。
  • 错误信息格式化和翻译。
  • 属性名翻译。
  • 条件验证
    • 跳过验证“空”值,并可以配置“空”条件。
    • 如果同一属性出现错误,则跳过进一步的验证。
    • 根据条件跳过验证。
  • 在规则处理器中使用上下文的可能性。
  • 捆绑常用规则。
  • 支持 DI 容器以创建具有额外依赖项的自定义规则处理器。
  • 导出规则选项以在前端使用。

要求

  • PHP 8.0 或更高版本。
  • mbstring PHP 扩展。

安装

可以使用Composer安装此包。

composer require yiisoft/validator

一般用法

验证器允许检查任何格式的数据。例如,当数据是对象时

use Yiisoft\Validator\Rule\FilledAtLeast;
use Yiisoft\Validator\Rule\Email;
use Yiisoft\Validator\Rule\Length;
use Yiisoft\Validator\Rule\Number;
use Yiisoft\Validator\Rule\Required;
use Yiisoft\Validator\Validator;

#[FilledAtLeast(['email', 'phone'])]
final class Person
{
    public function __construct(
        #[Required]
        #[Length(min: 2)]
        public ?string $name = null,

        #[Number(min: 21)]
        public ?int $age = null,

        #[Email]
        public ?string $email = null,

        public ?string $phone = null,
    ) {
    }
}

$person = new Person(
    name: 'John', 
    age: 17, 
    email: '[email protected]',
    phone: null
);

$result = (new Validator())->validate($person);

验证结果是一个对象,可以检查验证是否成功

$result->isValid();

它还包含验证过程中发生的错误

$result->getErrorMessages();

文档

如果您需要帮助或有疑问,请访问Yii 论坛。您还可以查看其他Yii 社区资源

许可

Yii 验证器是免费软件。它根据 BSD 许可证的条款发布。有关更多信息,请参阅LICENSE

Yii 软件维护。

支持项目

Open Collective

关注更新

Official website Twitter Telegram Facebook Slack