angletf / php-verify
php参数验证器, 方便! 好用! 快捷! php validate form data, support for regex and custom error returns
3.0.1
2023-04-12 00:13 UTC
Requires
- ext-json: *
- ext-mbstring: *
This package is auto-updated.
Last update: 2024-09-12 03:20:50 UTC
README
安装
composer require angletf/php-verify
引入自动加载和命名空间
include_once "../vendor/autoload.php"; use angletf\Verify;
注册规则&错误
const EType = new Exception("参数类型错误", 1); const ERequire = new Exception("参数没有传入", 2); const EFormat = new Exception("参数格式不正确", 3); const ELen = new Exception("name参数长度不正确", 4); $rule = [ 'age' => [ //age参数不是必传, 如果没有传入 设置默认值为 '99' //也可以将默认值设置为 `NULL` 在程序中进行判断 'required' => [ 'value' => false, 'default' => '99', 'error' => ERequire ], ], 'desc' => [ ], 'name' => [ //name 参数必传 'required' => [ 'value' => true, 'error' => ERequire ], 'type' => [ 'value' => VerifyType::String, 'error' => EType ], 'regex' => [ 'value' => '/^\w+$/', 'error' => EFormat ], 'min' => [ 'value' => 1, 'error' => ELen ], 'max' => [ 'value' => 20, 'error' => ELen ], ], ];
快速使用
//伪造一个post请求 $_POST = [ 'name' => 'tao', 'age' => '22' ]; try { //注册规则, 并且返回实例 $instance = Verify::registerRule($rule); //第一个参数是需要验证的数组($_POST, $_GET) //第二个参数是需要验证哪些参数 //第三个参数是按照第二个参数的顺序返回参数, 是一个引用类型 //如果验证失败, 则输出规则中对应的信息 if (!$instance->checkParams($_POST, ['name', 'age', 'desc'], $args)) { echo $instance->getError()->getMessage(); return; } list($name, $age, $desc) = $args; var_dump($name); var_dump($age); var_dump($desc); } catch (\Exception $e) { //handle an exception echo 'Exception: ' . $e->getMessage(); }
注册规则参数说明
规则名&参数名
规则注册接收一个二维数组
[ '参数名' => [ '验证器1' => [ 'value' => '验证器1的value', 'error' => '当验证失败时, 验证器1返回的错误, Exception类型' ], '验证器2' => [ ... ] ] ... ]
required验证器
type验证器
regex验证器
min验证器
max验证器
len验证器
错误信息返回
通过 checkParams 方法, 来判断验证是否通过, 如果未通过 可以打印error来获取精准的信息
if (!$instance->checkParams($_POST, ['name', 'age', 'desc'], $args)) { //返回你在规则中提供的 error => \Exception var_dump($instance->getError()); return; }
Verify API