yiisoft / validator
Yii 验证器
2.1.0
2024-09-12 12:10 UTC
Requires
- php: ^8.1
- ext-mbstring: *
- psr/container: ^1.0|^2.0
- psr/http-message: ^1.0|^2.0
- yiisoft/arrays: ^2.1|^3.0
- yiisoft/friendly-exception: ^1.0
- yiisoft/network-utilities: ^1.2
- yiisoft/strings: ^2.1
- yiisoft/translator: ^2.1|^3.0
Requires (Dev)
- jetbrains/phpstorm-attributes: ^1.0
- maglnet/composer-require-checker: ^4.3
- phpbench/phpbench: ^1.2
- phpunit/phpunit: ^9.5
- rector/rector: ^1.2
- roave/infection-static-analysis-plugin: ^1.25
- spatie/phpunit-watcher: ^1.23
- vimeo/psalm: ^5.24
- yiisoft/di: ^1.2
- yiisoft/test-support: ^3.0
- yiisoft/translator-message-php: ^1.1
- yiisoft/yii-debug: dev-master|dev-php80
Suggests
- ext-fileinfo: To use image rule
- ext-intl: Allows using date rules and IDN validation for emails
- yiisoft/di: To create rule handlers via Yii DI
README
Yii 验证器
此包提供数据验证功能。
特性
- 验证任何数据:数组、对象、标量值等。
- 支持自定义数据集。
- 处理嵌套数据结构(一对一和一对多)。
- 可以从 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 软件维护。