|
@@ -18,7 +18,7 @@ use think\Validate;
|
|
class User extends Validate {
|
|
class User extends Validate {
|
|
|
|
|
|
protected $rule = [
|
|
protected $rule = [
|
|
- 'account' => 'require|max:50|unique:sys_user',
|
|
|
|
|
|
+ 'account' => 'require|max:50|checkUnique:sys_user',
|
|
'name' => 'require|max:50|regex:/^[\x{4e00}-\x{9fa5}\(\)()\da-zA-Z&]{2,50}$/u',
|
|
'name' => 'require|max:50|regex:/^[\x{4e00}-\x{9fa5}\(\)()\da-zA-Z&]{2,50}$/u',
|
|
'type' => 'require|checkInSelect:type,1,2,3,4',
|
|
'type' => 'require|checkInSelect:type,1,2,3,4',
|
|
'password' => 'require|min:8|regex:/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,}$/',
|
|
'password' => 'require|min:8|regex:/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,}$/',
|
|
@@ -33,7 +33,7 @@ class User extends Validate {
|
|
protected $message = [
|
|
protected $message = [
|
|
'account.require' => '请填写账户!',
|
|
'account.require' => '请填写账户!',
|
|
'account.max' => '账户最多50个字符!',
|
|
'account.max' => '账户最多50个字符!',
|
|
- 'account.unique' => '该账户已被注册',
|
|
|
|
|
|
+ 'account.checkUnique' => '该账户已被注册',
|
|
'name.require' => '请输入姓名',
|
|
'name.require' => '请输入姓名',
|
|
'name.max' => '姓名最多50个字符!',
|
|
'name.max' => '姓名最多50个字符!',
|
|
'name.regex' => '姓名只能是中文',
|
|
'name.regex' => '姓名只能是中文',
|
|
@@ -57,6 +57,21 @@ class User extends Validate {
|
|
'change_pwd' => ['old_password', 'password', "re_password"],
|
|
'change_pwd' => ['old_password', 'password', "re_password"],
|
|
];
|
|
];
|
|
|
|
|
|
|
|
+ protected function checkUnique($value, $rule, $data = [], $field) {
|
|
|
|
+ $db = $this->db->name($rule);
|
|
|
|
+ $pk = $db->getPk();
|
|
|
|
+ $map = [];
|
|
|
|
+ $map[] = [$field, "=", $data[$field]];
|
|
|
|
+ $map[] = ["status", "<>", 3];
|
|
|
|
+ if ($data[$pk]) {
|
|
|
|
+ $map[] = [$pk, "<>", $data[$pk]];
|
|
|
|
+ }
|
|
|
|
+ if ($db->where($map)->field($pk)->find()) {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
protected function checkInSelect($value, $rule, $data = []) {
|
|
protected function checkInSelect($value, $rule, $data = []) {
|
|
$title = "";
|
|
$title = "";
|
|
$select = explode(",", $rule);
|
|
$select = explode(",", $rule);
|