批量验证
tip
正常验证是遇到一个不符合条件就会直接返回错误,开启批量验证可以等所有规则验证完成后在进行返回。
调用 batch
方法,参数值给 true
即可开启批量验证。
一、批量验证
1.1 定义验证类
示例:Student.php
<?php
namespace app\validate;
use core\validate\Validate;
class Student extends Validate
{
protected $rule = [
'name' => 'between:5,120|max:1|min:244|email|require|number',
'age' => 'number|between:888,999',
];
protected $message = [
'name.require' => '名称不能为空',
'name.max' => '名称最多不能超过25个字符',
'name.email' => '名称不是邮箱格式',
'name.max' => '名称太长了',
'name.between' => '名称没在范围里',
'name.number' => '名称必须是数字',
'age.between' => '年龄必须在888~999之间',
];
protected $scene = [
'edit' => ['age'],
'add' => ['name', 'age']
];
}
1.2 控制器中使用批量验证
示例
public function validate()
{
$data = [
'name' => 1,
'age' => 29
];
$validate = new \app\validate\Student();
$result = $validate->scene('add')
->batch(true)
->check($data);
pd($result);
}