Skip to main content

批量验证

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);
}

二、实现效果

图片alt