15
15
- 支持基本的数组检查,数组的子级值检查
16
16
- 方便的获取错误信息,验证后的安全数据获取
17
17
- 已经内置了40多个常用的验证器[ 内置验证器] ( #built-in-validators )
18
- - 规则设置参考自 yii 的。 部分规则参考自 laravel
18
+ - 规则设置参考 yii. 部分规则参考自 laravel, Respect/Validation
19
19
- 新增了独立的过滤器 ` Inhere\Validate\Filter\Filtration ` 用于数据过滤
20
20
21
-
22
21
支持两种规则配置方式:
23
22
24
23
- ` Validation/RuleValidation ` 规则配置类似于Yii: 每条规则中,允许多个字段,但只能有一个验证器。
@@ -598,17 +597,19 @@ public function get(string $key, $default = null)
598
597
599
598
过滤器 | 说明 | 示例
600
599
-------|-------------|------------
601
- ` int/integer ` | 过滤非法字符并转换为` int ` 类型 | ` ['userId', 'number', 'filter' => 'int'], `
600
+ ` abs ` | 返回绝对值 | ` ['field', 'int', 'filter' => 'abs'], `
601
+ ` int/integer ` | 过滤非法字符并转换为` int ` 类型 ** 支持数组** | ` ['userId', 'number', 'filter' => 'int'], `
602
602
` float ` | 过滤非法字符,保留` float ` 格式的数据 | ` ['price', 'float', 'filter' => 'float'], `
603
603
` string ` | 过滤非法字符并转换为` string ` 类型 | ` ['userId', 'number', 'filter' => 'string'], `
604
604
` trim ` | 去除首尾空白字符,支持数组。 | ` ['username', 'min', 4, 'filter' => 'trim'], `
605
+ ` nl2br ` | 转换 ` \n ` ` \r\n ` ` \r ` 为 ` <br/> ` | ` ['content', 'string', 'filter' => 'nl2br'], `
605
606
` lower/lowercase ` | 字符串转换为小写 | ` ['description', 'string', 'filter' => 'lowercase'], `
606
607
` upper/uppercase ` | 字符串转换为大写 | ` ['title', 'string', 'filter' => 'uppercase'], `
607
608
` snake/snakeCase ` | 字符串转换为蛇形风格 | ` ['title', 'string', 'filter' => 'snakeCase'], `
608
609
` camel/camelCase ` | 字符串转换为驼峰风格 | ` ['title', 'string', 'filter' => 'camelCase'], `
609
610
` timestamp/strToTime ` | 字符串日期转换时间戳 | ` ['pulishedAt', 'number', 'filter' => 'strToTime'], `
610
- ` abs ` | 返回绝对值 | ` ['field', 'int', 'filter' => 'abs'], `
611
611
` url ` | URL 过滤,移除所有不符合 URL 的字符 | ` ['field', 'url', 'filter' => 'url'], `
612
+ ` str2list/str2array ` | 字符串转数组 ` 'tag0,tag1' -> ['tag0', 'tag1'] ` | ` ['tags', 'strList', 'filter' => 'str2array'], `
612
613
` email ` | email 过滤,移除所有不符合 email 的字符 | ` ['field', 'email', 'filter' => 'email'], `
613
614
` encoded ` | 去除 URL 编码不需要的字符,与 ` urlencode() ` 函数很类似 | ` ['imgUrl', 'url', 'filter' => 'encoded'], `
614
615
` clearTags/stripTags ` | 相当于使用 ` strip_tags() ` | ` ['content', 'string', 'filter' => 'clearTags'], `
@@ -624,11 +625,11 @@ public function get(string $key, $default = null)
624
625
625
626
验证器 | 说明 | 规则示例
626
627
----------|-------------|------------
627
- ` int/integer ` | 验证是否是 int 支持范围检查 | ` ['userId', 'int'] ` ` ['userId', 'int', 'min'=>4, 'max'=>16] `
628
- ` num/number ` | 验证是否是 number | ` ['userId', 'number'] ` ` ['userId', 'number', 'min'=>4, 'max'=>16] `
628
+ ` int/integer ` | 验证是否是 int ** 支持范围检查** | ` ['userId', 'int'] ` ` ['userId', 'int', 'min'=>4, 'max'=>16] `
629
+ ` num/number ` | 验证是否是 number ** 支持范围检查 ** | ` ['userId', 'number'] ` ` ['userId', 'number', 'min'=>4, 'max'=>16] `
629
630
` bool/boolean ` | 验证是否是 bool | ` ['open', 'bool'] `
630
631
` float ` | 验证是否是 float | ` ['price', 'float'] `
631
- ` string ` | 验证是否是 string. 支持长度检查 | ` ['name', 'string'] ` , ` ['name', 'string', 'min'=>4, 'max'=>16] `
632
+ ` string ` | 验证是否是 string. ** 支持长度检查** | ` ['name', 'string'] ` , ` ['name', 'string', 'min'=>4, 'max'=>16] `
632
633
` url ` | 验证是否是 url | ` ['myUrl', 'url'] `
633
634
` email ` | 验证是否是 email | ` ['userEmail', 'email'] `
634
635
` alpha ` | 验证值是否仅包含字母字符 | ` ['name', 'alpha'] `
@@ -637,6 +638,7 @@ public function get(string $key, $default = null)
637
638
` isMap ` | 验证值是否是一个非自然数组 map (key - value 形式的) | ` ['goods', 'isMap'] `
638
639
` isList ` | 验证值是否是一个自然数组 list (key是从0自然增长的) | ` ['tags', 'isList'] `
639
640
` isArray ` | 验证是否是数组 | ` ['goods', 'isArray'] `
641
+ ` hasKey ` | 验证数组存在给定的key(s) | ` ['goods', 'hasKey', 'pear'] ` ` ['goods', 'hasKey', ['pear', 'banana']] `
640
642
` intList ` | 验证字段值是否是一个 int list | ` ['tagIds', 'intList'] `
641
643
` numList ` | 验证字段值是否是一个 number list | ` ['tagIds', 'numList'] `
642
644
` strList ` | 验证字段值是否是一个 string list | ` ['tags', 'strList'] `
@@ -645,6 +647,8 @@ public function get(string $key, $default = null)
645
647
` size/range/between ` | 验证大小范围, 可以支持验证 ` int ` , ` string ` , ` array ` 数据类型 | ` ['tagId', 'size', 'min'=>4, 'max'=>567] `
646
648
` length ` | 长度验证( 跟 ` size ` 差不多, 但只能验证 ` string ` , ` array ` 的长度 | ` ['username', 'length', 'min' => 5, 'max' => 20] `
647
649
` fixedSize/fixedLength ` | 固定的长度/大小 | ` ['field', 'fixedSize', 12] `
650
+ ` startWith ` | 值(` string/array ` )是以给定的字符串开始 | ` ['field', 'startWith', 'hell'] `
651
+ ` endWith ` | 值(` string/array ` )是以给定的字符串结尾 | ` ['field', 'endWith', 'world'] `
648
652
` in/enum ` | 枚举验证 | ` ['status', 'in', [1,2,3]] `
649
653
` notIn ` | 枚举验证 | ` ['status', 'notIn', [4,5,6]] `
650
654
` mustBe ` | 必须是等于给定值 | ` ['status', 'mustBe', 1] `
@@ -671,6 +675,7 @@ public function get(string $key, $default = null)
671
675
` ip ` | 验证是否是 IP | ` ['ipAddr', 'ip'] `
672
676
` ipv4 ` | 验证是否是 IPv4 | ` ['ipAddr', 'ipv4'] `
673
677
` ipv6 ` | 验证是否是 IPv6 | ` ['ipAddr', 'ipv6'] `
678
+ ` macAddress ` | 验证是否是 mac Address | ` ['field', 'macAddress'] `
674
679
` md5 ` | 验证是否是 md5 格式的字符串 | ` ['passwd', 'md5'] `
675
680
` sha1 ` | 验证是否是 sha1 格式的字符串 | ` ['passwd', 'sha1'] `
676
681
` color ` | 验证是否是html color | ` ['backgroundColor', 'color'] `
0 commit comments