PHPackages                             kooditorm/hyperf-validation - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. kooditorm/hyperf-validation

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

kooditorm/hyperf-validation
===========================

Annotation validator for the Hyperf framework

1.0.1(1mo ago)033MITPHPPHP &gt;=8.1

Since Mar 26Pushed 1mo agoCompare

[ Source](https://github.com/Kooditorm/hyperf-validation)[ Packagist](https://packagist.org/packages/kooditorm/hyperf-validation)[ Docs](https://github.com/Kooditorm/hyperf-validation)[ RSS](/packages/kooditorm-hyperf-validation/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (4)Versions (3)Used By (0)

Hyperf Validation
=================

[](#hyperf-validation)

基于注解的 Hyperf 框架验证器扩展包，通过属性注解实现优雅的数据验证。

安装
--

[](#安装)

```
composer require kooditorm/hyperf-validation
```

特性
--

[](#特性)

- 🚀 基于 PHP8.1+ 属性注解
- 💎 优雅的 AOP 切面验证
- 📦 支持自定义验证规则
- 🎯 自动类型转换
- 🌐 支持自定义错误消息

✅ 数据验证
------

[](#-数据验证)

### 内置验证注解

[](#内置验证注解)

> 需要先安装 Hyperf 验证器：`composer require hyperf/validation`

本库提供了丰富的验证注解，包括：

框架规则使用规则`required``NotBlank``regex``Pattern``array``IsArray`支持验证規則：

```
accepted、accepted_if
declined、declined_if
active_url
after、after_or_equal
before、before_or_equal
alpha、alpha_dash、alpha_num
ascii
array、required_array_keys
between
confirmed
data、date_equals、date_format
decimal
lowercase、uppercase、mac_address
digits、digits_between、max_digits、min_digits
email
file、image
in、in_array、not_in
gt、 gte、lt、lte
max、min、size
mines、minestypes
Same
Url
Uuid

```

特殊用法说明 IsArray(value:1,2,3)

```
框架用法： 'name' => "array:1,2,3"
验证结果： 当验证规则存在参数，验证数组的键必须存在一个或多个参数包含的值，且不能出现不存在的键

```

验证的数组结果"name": {"1": 1, "4": 2}false"name": {"1": 1, "2": 2}true"name": {"1": 1, "2": 2, "3":3}true"name": {"1": 1, "2": 2, "4":3}false"name": {"1": 1, "2": 2, "3":3, "4":4}falseRequiredArrayKeys(value:1,2,3)

```
框架用法： 'name' => "required_array_keys:a,b,c"
原文檔描述：验证的字段必须是一个数组，并且必须至少包含指定的键。
验证结果： 验证的字段必须是一个数组，并且必须包含所有的键。

```

验证的数组结果"name": {"a": "1","b": "b"}false"name": {"a": "1","b": "b","c":"c"}true"name": {"a": "1","b": "b","d":"c"}false"name": {"a": "1","b": "b","c":"c","d":"d"}false备注：

1. 具体规则请查看 [Hyperf 验证器文档](https://hyperf.wiki/2.2/#/zh-cn/validation)。
2. 除上述表格外，其他均为常规调用方法。 常规调用为规则名称的大驼峰，如 `Accepted`、`AcceptedIf`。
3. 上述支持的规则没有出现的请使用 #\[Validate(rule: 'regex', value: '/^1\[3456789\]\\d{9}$/', message: '手机号码不正确')\]\]

快速开始
----

[](#快速开始)

### 1. 基础用法

[](#1-基础用法)

在控制器方法上使用 `#[Validated]` 注解：

```
