zms/validate

数据验证器

v1.0.8 2025-04-03 07:55 UTC

This package is not auto-updated.

Last update: 2025-04-03 07:57:21 UTC


README

安装

composer require zms/validate
<?php
declare(strict_types=1);
use Zms\Validate\Type;

内置规则大全

规则常量描述
requiredType::REQUIRED必填
required-chooseType::REQUIRED_CHOOSE必选
required-uploadType::REQUIRED_UPLOAD必传
safeType::SAFE安全接收
defaultType::DEFAULT默认值
stringType::STRING字符串
inType::IN包含
exclude-inType::EXCLUDE_IN禁选指定项目
multi-selectorType::MULTI_SELECTOR多选验证器
identity-numberType::IDENTITY_NUMBER身份证号
urlType::URL网址
pointType::POINT位置坐标
emailType::EMAIL邮箱
ipType::IPIP地址
phoneType::PHONE手机号
mobileType::MOBILE手机号
listType::LIST列表
arrayType::ARRAY数组
matchType::MATCH正则表达式
numberType::NUMBER数字
intType::INT整数
moneyType::MONEY金额
qqType::QQQQ号
datetimeType::DATETIME日期时间 默认Y-m-d H:i:s
dateType::DATE日期 默认Y-m-d
date-formatType::DATE_FORMAT时间字符串验证,正确就行,不验证格式
list-intersectType::LIST_INTERSECT列表交集
jsonType::JSONjson字符串
compareType::COMPARE一致性对比
acceptedType::ACCEPTED通过、同意,用于确认协议勾选了同意等
zipcodeType::ZIPCODE邮编
violateType::VIOLATE非法词汇检测
domainType::DOMAIN域名检测

验证示例(class验证)

declare(strict_types=1);

use Zms\Validate\ValidateAbstract;
use Zms\Validate\Type;
class ValidateData extends ValidateAbstract{

    /**
     * 验证规则
     */
    public function rules(): array
    {
        return [
            [['name','url'],Type::REQUIRED],
            ['name', Type::STRING],
            ['url', Type::URL],
        ];
    }

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

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

验证示例(逻辑验证)

<?php
declare(strict_types=1);
use Zms\Validate\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验证后事件