HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/oa.umchkw.com/app/user/validate/AdminCheck.php
<?php
/**
 * @copyright Copyright (c) 2021 勾股工作室
 * @license https://opensource.org/licenses/GPL-3.0
 * @link https://www.gougucms.com
 */

namespace app\user\validate;
use think\facade\Db;
use think\Validate;

class AdminCheck extends Validate
{
	protected $regex = [ 'checkUser' => '/^[A-Za-z]{1}[A-Za-z0-9_-]{3,19}$/'];
	// 自定义验证规则
	protected function checkone($value,$rule,$data=[])
	{
		$count = Db::name('Admin')->where([['username','=',$data['username']],['id','<>',$data['id']],['status','>=',0]])->count();
		return $count == 0 ? true : false;
	}
	
    protected $rule = [
        'name' => 'require|chs',
        'username' => 'require|regex:checkUser',
        'mobile' => 'require|mobile|unique:admin',
        'email' => 'require|email|unique:admin',
        'reg_pwd' => 'require|min:6',
        'did' => 'require',
        'position_id' => 'require',
        'type' => 'require',
        'entry_time' => 'require',
        'id' => 'require',
        'pwd' => 'require|min:6|confirm',
        'status' => 'require|checkStatus:-1,1',
        'old_pwd' => 'require|different:pwd',
    ];

    protected $message = [
	    'name.require' => '员工姓名不能为空',
        'name.chs' => '员工姓名只能是汉字',
        'username.require' => '登录账号不能为空',
        'username.regex' => '登录账号必须是以字母开头,只能包含字母数字下划线和减号,4到20位',
        'username.checkone' => '同样的登录账号已经存在,建议增加数字,如:xxx123',
		'mobile.require' => '手机不能为空',
        'mobile.mobile' => '手机格式错误',
		'mobile.unique' => '同样的手机号码已经存在,请检查一下是否被离职或者禁用员工占用',
		'email.require' => '邮箱不能为空',
        'email.email' => '邮箱格式错误',
		'email.unique' => '同样的邮箱已经存在,请检查一下是否被离职或者禁用员工占用',
        'reg_pwd.require' => '密码不能为空',
        'reg_pwd.min' => '密码至少要6个字符',
		'did.require' => '请选择所在部门',
        'position_id.require' => '请选择职位',
		'type.require' => '请选择员工类型',
		'entry_time.require' => '请选择入职时间',
        'id.require' => '缺少更新条件',
        'pwd.require' => '密码不能为空',
		'pwd.min' => '密码至少要6个字符',
        'pwd.confirm' => '两次密码不一致',
        'old_pwd.require' => '请提供旧密码',
        'old_pwd.different' => '新密码不能和旧密码一样',
    ];

    protected $scene = [
        'add' => ['name', 'username', 'mobile','email','reg_pwd', 'did', 'position_id', 'type', 'entry_time'],
        'edit' => ['name', 'username', 'mobile','email', 'did', 'position_id', 'entry_time', 'id'],
        'editPwd' => ['old_pwd', 'pwd'],
    ];

}