tp5 tp6 的批量验证参数 懒人专用
几乎兼容TP的验证全部写法
#批量验证
public function v($EX,$data=[])
{
if(!$data)$data = $this->p;
$message = [];
$validate=[];
foreach ($EX as $k => $v) {
if(!preg_match('/(.+?)\.(.+?)($|\:(.+))/im',$k,$ls))die('变量名.验证类型:参数');
$message[$ls[1].'.'.$ls[2]]=$v;
if(!$validate[$ls[1]])$validate[$ls[1]]=[];
if('regex'==$ls[2]){
$validate[$ls[1]]['regex']=$ls[4];
}else{
$validate[$ls[1]][]=$ls[2].$ls[3];
}
}
$v = validate($validate, $message , $batch = false, $failException = false);
if(!$v->check($data)){
die($v->getError());
return false;
}
return true;
}
#使用验证
if(!$this->v([
'user.regex:/^[a-z0-9]{4,16}$/im' =>'账号只能为长度4-16位数字或字母!',
'pwd.regex:/^[a-z0-9]{4,16}$/im' =>'密码只能为长度4-16位数字或字母!',
'cipher.require' =>'密保不能为空!',
'user.require' =>'账号不能为空!',
'pwd.require' =>'密码不能为空!',
]))return;