数据验证
v2.6.8+
在v2.6.8版本中对Validate做了增强,除了以上的直接调用方法外,还可以有以下用法:
use Cml\Vendor\Validate;
//初始化实例 传入包含要验证数据的数组 这边是$_POST
$v = new Validate($_POST);
//type、ptime、status、action 必传
$v->rule('require', ['type', 'ptime', 'status', 'action']);
//type、ptime、status 必须为整形
$v->rule('int', ['type', 'ptime', 'status']);
$v->rule('in', ['ptime'], range(0, 23));
//设置字段->实际显示字段的映射关系
$v->label(array(
'type' => '类型',
'status' => '状态',
'action' => '操作',
));
//批量校验
if(!$v->validate()) {
$error = $v->getErrors();//获取错误信息
}
内置验证规则
自定义验证规则
除了以上内置的校验规则外,还可以自定义验证规则,方法如下:
<?php
use Cml\Vendor\Validate;
//添加
//$value的值就是$_POST['test']的值
//$params是参数数组,就是下面$v->rule...中的[1, 2]
return false;
}, '就是不让你通过检验');
$v = new Validate($_POST);
//使用
$v->rule('test', 1, 2);
...
提示信息
如果不想用内置的语言包也可以使用 message
自定义提示信息,使用方法如下:
<?php
use Cml\Vendor\Validate;
$v = new Validate($_POST);
$v->rule('require', ['type', 'ptime', 'status', 'action'])
->message('{field} 必须填写!');