1515- 支持基本的数组检查,数组的子级值检查
1616- 方便的获取错误信息,验证后的安全数据获取
1717- 已经内置了40多个常用的验证器[ 内置验证器] ( #built-in-validators )
18- - 规则设置参考自 yii 的。 部分规则参考自 laravel
18+ - 规则设置参考 yii. 部分规则参考自 laravel, Respect/Validation
1919- 新增了独立的过滤器 ` Inhere\Validate\Filter\Filtration ` 用于数据过滤
2020
21-
2221支持两种规则配置方式:
2322
2423- ` Validation/RuleValidation ` 规则配置类似于Yii: 每条规则中,允许多个字段,但只能有一个验证器。
@@ -598,17 +597,19 @@ public function get(string $key, $default = null)
598597
599598过滤器 | 说明 | 示例
600599-------|-------------|------------
601- ` int/integer ` | 过滤非法字符并转换为` int ` 类型 | ` ['userId', 'number', 'filter' => 'int'], `
600+ ` abs ` | 返回绝对值 | ` ['field', 'int', 'filter' => 'abs'], `
601+ ` int/integer ` | 过滤非法字符并转换为` int ` 类型 ** 支持数组** | ` ['userId', 'number', 'filter' => 'int'], `
602602` float ` | 过滤非法字符,保留` float ` 格式的数据 | ` ['price', 'float', 'filter' => 'float'], `
603603` string ` | 过滤非法字符并转换为` string ` 类型 | ` ['userId', 'number', 'filter' => 'string'], `
604604` trim ` | 去除首尾空白字符,支持数组。 | ` ['username', 'min', 4, 'filter' => 'trim'], `
605+ ` nl2br ` | 转换 ` \n ` ` \r\n ` ` \r ` 为 ` <br/> ` | ` ['content', 'string', 'filter' => 'nl2br'], `
605606` lower/lowercase ` | 字符串转换为小写 | ` ['description', 'string', 'filter' => 'lowercase'], `
606607` upper/uppercase ` | 字符串转换为大写 | ` ['title', 'string', 'filter' => 'uppercase'], `
607608` snake/snakeCase ` | 字符串转换为蛇形风格 | ` ['title', 'string', 'filter' => 'snakeCase'], `
608609` camel/camelCase ` | 字符串转换为驼峰风格 | ` ['title', 'string', 'filter' => 'camelCase'], `
609610` timestamp/strToTime ` | 字符串日期转换时间戳 | ` ['pulishedAt', 'number', 'filter' => 'strToTime'], `
610- ` abs ` | 返回绝对值 | ` ['field', 'int', 'filter' => 'abs'], `
611611` url ` | URL 过滤,移除所有不符合 URL 的字符 | ` ['field', 'url', 'filter' => 'url'], `
612+ ` str2list/str2array ` | 字符串转数组 ` 'tag0,tag1' -> ['tag0', 'tag1'] ` | ` ['tags', 'strList', 'filter' => 'str2array'], `
612613` email ` | email 过滤,移除所有不符合 email 的字符 | ` ['field', 'email', 'filter' => 'email'], `
613614` encoded ` | 去除 URL 编码不需要的字符,与 ` urlencode() ` 函数很类似 | ` ['imgUrl', 'url', 'filter' => 'encoded'], `
614615` clearTags/stripTags ` | 相当于使用 ` strip_tags() ` | ` ['content', 'string', 'filter' => 'clearTags'], `
@@ -624,11 +625,11 @@ public function get(string $key, $default = null)
624625
625626验证器 | 说明 | 规则示例
626627----------|-------------|------------
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] `
629630` bool/boolean ` | 验证是否是 bool | ` ['open', 'bool'] `
630631` 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] `
632633` url ` | 验证是否是 url | ` ['myUrl', 'url'] `
633634` email ` | 验证是否是 email | ` ['userEmail', 'email'] `
634635` alpha ` | 验证值是否仅包含字母字符 | ` ['name', 'alpha'] `
@@ -637,6 +638,7 @@ public function get(string $key, $default = null)
637638` isMap ` | 验证值是否是一个非自然数组 map (key - value 形式的) | ` ['goods', 'isMap'] `
638639` isList ` | 验证值是否是一个自然数组 list (key是从0自然增长的) | ` ['tags', 'isList'] `
639640` isArray ` | 验证是否是数组 | ` ['goods', 'isArray'] `
641+ ` hasKey ` | 验证数组存在给定的key(s) | ` ['goods', 'hasKey', 'pear'] ` ` ['goods', 'hasKey', ['pear', 'banana']] `
640642` intList ` | 验证字段值是否是一个 int list | ` ['tagIds', 'intList'] `
641643` numList ` | 验证字段值是否是一个 number list | ` ['tagIds', 'numList'] `
642644` strList ` | 验证字段值是否是一个 string list | ` ['tags', 'strList'] `
@@ -645,6 +647,8 @@ public function get(string $key, $default = null)
645647` size/range/between ` | 验证大小范围, 可以支持验证 ` int ` , ` string ` , ` array ` 数据类型 | ` ['tagId', 'size', 'min'=>4, 'max'=>567] `
646648` length ` | 长度验证( 跟 ` size ` 差不多, 但只能验证 ` string ` , ` array ` 的长度 | ` ['username', 'length', 'min' => 5, 'max' => 20] `
647649` fixedSize/fixedLength ` | 固定的长度/大小 | ` ['field', 'fixedSize', 12] `
650+ ` startWith ` | 值(` string/array ` )是以给定的字符串开始 | ` ['field', 'startWith', 'hell'] `
651+ ` endWith ` | 值(` string/array ` )是以给定的字符串结尾 | ` ['field', 'endWith', 'world'] `
648652` in/enum ` | 枚举验证 | ` ['status', 'in', [1,2,3]] `
649653` notIn ` | 枚举验证 | ` ['status', 'notIn', [4,5,6]] `
650654` mustBe ` | 必须是等于给定值 | ` ['status', 'mustBe', 1] `
@@ -671,6 +675,7 @@ public function get(string $key, $default = null)
671675` ip ` | 验证是否是 IP | ` ['ipAddr', 'ip'] `
672676` ipv4 ` | 验证是否是 IPv4 | ` ['ipAddr', 'ipv4'] `
673677` ipv6 ` | 验证是否是 IPv6 | ` ['ipAddr', 'ipv6'] `
678+ ` macAddress ` | 验证是否是 mac Address | ` ['field', 'macAddress'] `
674679` md5 ` | 验证是否是 md5 格式的字符串 | ` ['passwd', 'md5'] `
675680` sha1 ` | 验证是否是 sha1 格式的字符串 | ` ['passwd', 'sha1'] `
676681` color ` | 验证是否是html color | ` ['backgroundColor', 'color'] `
0 commit comments