zlf/app-validate

数据验证器

v2.0.2 2024-10-09 06:43 UTC

This package is not auto-updated.

Last update: 2024-11-06 07:10:48 UTC


README

安装

composer require app-validate

内置规则大全

规则描述
required必填
string字符串
in包含
identity-number身份证号
url网址
point位置坐标
email邮箱
ipIP地址
phone手机号
mobile手机号
list列表
array数组
match正则表达式
number数字
int整数
money金额
qqQQ号
datetime日期时间
list-intersect列表交集
jsonjson字符串
compare一致性对比
accepted通过
zipcode邮编

验证示例(class验证)

declare(strict_types=1);

use Zlf\AppValidate\ValidateAbstract;

class ValidateData extends ValidateAbstract{

    /**
     * 验证规则
     */
    public function rules(): array
    {
        return [
            [['name','url'],'required'],
            ['name', 'string'],
            ['url', 'url'],
        ];
    }

    /**
     * 字段描述
     */
    public function labels(): array
    {
        return [
            'name' => '名称',
            'url'=>'个人主页'
        ];
    }
}

//验证器实例
$validate = new ValidateData();

验证示例(逻辑验证)

<?php
declare(strict_types=1);
use Zlf\AppValidate\Validate

$validate = new Validate();
$validate->setRules([]);
$validate->setLabels([]);
$validate->setData([]);

验证

<?php
declare(strict_types=1);
$validate->validate();
if ($validate->isFail()) {//验证失败,获取错误信息
    print_r($validate->getErrorList());
} else {//验证成功,获取验证器数据
    print_r($validate->getSafeData());
}

验证器实例方法

方法描述
validate执行验证
verifyMapping验证器映射
setData设置验证数据
getData获取要验证的数据
setLabels设置字段描述
setExclude排除验证的字段
setRules设置验证规则
setEmptySkip不存在的字段是否跳过
setNoSkipping设置空值是否跳过
setFields设置要验证的字段
setScene验证场景
where验证条件
isFail获取验证状态
getErrors获取错误信息
getErrorList获取错误信息列表
firstError获取第一条错误信息
finalError获取最后一条错误信息
addError添加一条错误信息
hasError判断某字段是否有错误信息
addErrors添加错误信息
setSafe设置验证安全数据
getSafeData获取通过验证后的安全数据
getSafe获取指定安全验证数据
beforeValidate验证前事件
afterValidate验证后事件