verdient / validator
A library for validating
0.2.0
2021-05-12 02:18 UTC
Requires
- php: >=7.0.0
- verdient/chorus: ~0.1.0
README
批量校验数据
use Verdient\Validator\Validation; /** * 限定条件,格式为数组 * 第一级的Key为字段的名称,value为索引数组,数组内的每一个数组代表一个校验规则 * 校验规则格式为:第一个元素为校验器的名字,其后的参数为注入到校验器内的参数 */ $constraints = [ 'mobile' => [ ['mobile'], //规则1,要求必须是手机号码 ['string'], //规则2,要求必须是字符串 ], 'date' => [ ['date', 'min' => '2020-02-02', 'max' => '2020-02-02'] //校验是否为日期,且最大最小日期均为2020-02-02 ], 'in' => [ ['in', 'range' => [1, 2, 3]] //校验是否为1, 2, 3中的一个(或多个) ], ... ]; /** * 要校验的数据 */ $data = [ 'mobile' => '15757116316', 'date' => '2020-02-02', 'in' => 1, ... ]; $result = $validation->validate($data); //返回结果为true或false
校验单个数据
use Verdient\Validator\Validators\In; $validator = new In(['range' => [1, 2, 3]]); $result = $validator->validate(4);
获取错误信息
$errors = $validation->getErrors();
获取第一个错误
$firstError = $errors->first(); //返回的结果为数组,key为字段名称,value为提示信息
直接取得错误提示信息
$message = (string) $errors;
校验器及其参数
公共参数
限定条件
可以在声明限定条件时指定when参数来限定校验器的执行,只有当限定条件满足时,校验器才会真正的被执行,否则将会跳过校验器的检查。
参数的格式为:
$when = ['{name}', '{operator}', '{comparedValue}'];
name代指属性名称,operator为操作符,comparedValue为被比较的值
其中name和value必填,comparedValue默认为空