# validate **Repository Path**: zms-code/validate ## Basic Information - **Project Name**: validate - **Description**: 数据验证器 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-03-14 - **Last Updated**: 2026-01-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### 安装 ```sh composer require zms/validate ``` ```php '名称', 'url'=>'个人主页' ]; } } //验证器实例 $validate = new ValidateData(); ``` #### 验证示例(逻辑验证) ```php setRules([]); $validate->setLabels([]); $validate->setData([]); ``` #### 验证 ```php 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 | 验证后事件 | #### 方法验证器 ```php addError($find,'数据验证失败'); return null;//验证失败必须返回null } } ``` #### 回调函数验证器 ```php addError($find,'昵称验证失败'); return null; }] ]; } } ``` #### 多维数组验证 ```php '注册手机' ]; } } $validate=new UserValidate(); $validate->setData([ 'user'=>['mobile'=>'19888888888'] ]); if($validate->validate()->isFail()){ print_r($validate->getSafeData()); }else{ print_r($validate->getErrors()); } ``` #### 函数验证方法实例 ```php 10, 'user' => [ 'name' => '张三',//用户名 'mobile' => '18676405902', ], 'bankcard' => '5162-2848-7889-7794' ]; $label=[ 'user.mobile' => '用户手机', 'bankcard' => '银行卡号' ]; $rules=[ ['id', Type::REQUIRED], [['user.mobile'], Type::MOBILE, 'on' => ['add']], [['user.name'], Type::STRING], [['bankcard'], Type::BANKCARD, 'luhn' => false, 'convert' => true, 'on' => ['add']], ]; //只会验证 id和bankcard字段 specificValidate($rules, $data, ['id','bankcard'], $label); //全部验证 validate($rules, $data, $label); //只会验证 user.mobile和bankcard字段 validate($rules, $data, $label,'add'); ```