alexpts / simple-validator
简单验证请求数据
1.1.0
2018-03-09 12:20 UTC
Requires
- php: ^7.1
- alexpts/php-tools: ^3.0
Requires (Dev)
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-09-15 02:43:02 UTC
README
用于验证数组集合的简单验证器。
安装
composer require alexpts/simple-validator
示例
$body = (array)$this->request->getParsedBody(); $validator = new Validator; // shot format $errors = $validator->validate($body, [ 'parentId' => ['int', 'betweenInt:0:99999'], 'name' => ['string', 'min:3'], 'slug' => ['string', 'min:3', 'max:120'], 'sort' => ['int'] ]); // full format $errors = $validator->validate($body, [ 'parentId' => ['int', ['betweenInt' => [0, 99999]] ], 'name' => ['string', ['min' => [3]] ], 'slug' => ['string', ['min' => [3]], ['max' => [120]] ], 'sort' => ['int'] ]); // validate if exists $errors = $validator->validateIfExists($body, [ 'name' => ['string', ['min' => [3]] ], 'sort' => ['int'] // field not passed, not validate ]); // deep attributes $errors = $validator->validate($body, [ 'user' => ['array', 'min:3'], 'user.name' => ['string', 'min:3'], 'user.age' => ['int'], ]); $errors = $validator->validateIfExists($body, [ 'user' => ['array', 'min:3'], 'user.name' => ['string', 'min:3'], 'user.age' => ['int'], ]);
验证器
string
正在验证的字段必须是字符串
int
正在验证的字段必须是整数
float
正在验证的字段必须是浮点数
array
正在验证的字段必须是数组
required
必填字段
betweenInt:min:max
范围 [min, max] 内的整数
betweenFloat:min:max
范围 [min, max] 内的浮点数
bool
正在验证的字段必须是布尔值
alpha
正在验证的字段必须是全部字母字符
alphaDash
正在验证的字段可以包含字母数字字符、连字符和下划线
alphaNum
正在验证的字段必须是全部字母数字字符
date
根据 PHP 函数 strtotime,验证的字段必须是有效的日期
dateTime
值必须是 \DateTime 对象的实例
inArray
检查值是否在数组中
min
字符串的最小长度、数字的最小值、数组的最小计数
max
字符串的最大长度、数字的最大值、数组的最大计数
正在验证的字段必须是简单的电子邮件字符串
自定义验证器
您可以通过方法添加自定义验证器
public function registerRule(string $name, callable $handler): self