69 lines
2.3 KiB
PHP
69 lines
2.3 KiB
PHP
<?php
|
|
declare (strict_types = 1);
|
|
|
|
namespace app\admin\validate\v1;
|
|
|
|
use think\Validate;
|
|
|
|
class SysUserValidate extends Validate
|
|
{
|
|
/**
|
|
* 定义验证规则
|
|
* 格式:'字段名' => ['规则1','规则2'...]
|
|
*
|
|
* @var array
|
|
*/
|
|
protected $rule = [
|
|
'id' => 'require|integer',
|
|
'username' => 'require|unique:sys_user|max:64',
|
|
'password' => 'require|max:64',
|
|
'repassword' => 'requireWith:password|confirm:password',
|
|
'salt' => 'require|max:16',
|
|
'role_id' => 'require|integer',
|
|
'nickname' => 'max:64',
|
|
'avatar' => 'max:255',
|
|
'mobile' => 'mobile',
|
|
'email' => 'email',
|
|
'status' => 'in:-1,1',
|
|
];
|
|
|
|
/**
|
|
* 定义错误信息
|
|
* 格式:'字段名.规则名' => '错误信息'
|
|
*
|
|
* @var array
|
|
*/
|
|
protected $message = [
|
|
'id.require' => 'ID不能为空',
|
|
'id.integer' => 'ID必须为整数',
|
|
'username.require' => '用户名不能为空',
|
|
'username.unique' => '用户名已存在',
|
|
'username.max' => '用户名最多不能超过64个字符',
|
|
'password.require' => '密码不能为空',
|
|
'password.max' => '密码最多不能超过64个字符',
|
|
'repassword.requireWith' => '确认密码不能为空',
|
|
'repassword.confirm' => '两次密码输入不一致',
|
|
'salt.require' => '盐不能为空',
|
|
'salt.max' => '盐最多不能超过16个字符',
|
|
'role_id.require' => '角色ID不能为空',
|
|
'role_id.integer' => '角色ID必须为整数',
|
|
'nickname.max' => '昵称最多不能超过64个字符',
|
|
'avatar.max' => '头像最多不能超过255个字符',
|
|
'mobile' => '手机号格式错误',
|
|
'email' => '邮箱格式错误',
|
|
'status.in' => '状态值必须是-1或1',
|
|
];
|
|
|
|
// 新增校验场景
|
|
public function sceneCreate()
|
|
{
|
|
return $this->remove('id', 'require|integer');
|
|
}
|
|
|
|
// 更新校验场景
|
|
public function sceneUpdate()
|
|
{
|
|
return $this->remove('repassword', 'requireWith:password|confirm:password');
|
|
}
|
|
}
|