class UserValidate extends Validate
{
public $rule = [
'id' => 'require|number|checkUser',
];
public $message = [
'id.require' => '主键ID不能为空',
'id.number' => '主键ID必须是数字',
'id.checkUser' => '主键ID不合法',
];
/**
* @param int $value
* @return bool
* @author: sansi
*/
public function checkUser(int $value): bool
{
return WaterUserModel::find($value) !== null;
}
protected $scene = [
'create' => ['user_name,password'], // 新增数据时需要验证的字段
'edit' => ['id'], // 编辑数据时需要验证的字段
'query' => ['start_time', 'end_time'], // 查询数据时需要验证的字段
];
}
```、
如何调用
```php
public function addUser($request,$id)
{
$validate = new UserValidate();
if (!$validate->scene('edit')->check($request->post())) {
throw new ApiException($validate->getError());
}
//接下来的逻辑处理
}
也可以直接这样
use Tinywan\Validate\Validate;
class UserValidate extends Validate
{
public $rule = [
'id' => 'number',
];
public $message = [
'id.number' => '主键ID必须是数字',
];
}
public function addUser($request,$id)
{
$validate = new UserValidate();
if (!$validate->check(['id'=>111])) {
throw new ApiException($validate->getError());
}
//接下来的逻辑处理
}
验证器写法
也可以直接这样