>[success] 用户新增的场景,一般需要校验的步骤有:
1. 用户名是否为空
2. 用户名是否长度符合要求
3. 用户名是否包括特殊字符
4. 用户名是否重复
5. 密码是否为空
6. 密码是否长度符合要求
7. 密码是否是弱密码
8. 确认密码是否为空
9. 密码跟确认密码是否一致
10. 手机号码是否为空
11. 手机号码是否合法
>[success] 在App/common/validate目录下创建用户校验类Manage.php,完整代码如下:
```
<?php
// +----------------------------------------------------------------------
// | najing [ 通用后台管理系统 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2020 http://www.najingquan.com All rights reserved.
// +----------------------------------------------------------------------
// | Author: 救火队队长
// +----------------------------------------------------------------------
namespace app\common\validate;
use think\Validate;
class Manage extends Validate
{
// 用户校验规则
protected $rule = [
'username' => 'require|length:3,20|alphaDash|unique:manage,is_del^username',
'password' => 'require|length:6,16|checkPwd',
'rePassword'=>'require|confirm:password',
'mobile' => 'require|regex:mobile',
];
// 输出错误信息
protected $message = [
'username.require' => '请输入用户名',
'username.length' => '用户名长度为3~20位',
'username.alphaDash' => '用户名只能是字母、数字或下划线组成',
'username.unique' => '用户名重复',
'password.require' => '请输入密码',
'password.length' => '密码长度为6~16位',
'password.checkPwd' => '密码必须由大写字母、小写字母、数字组成',
'rePassword.require' => '请输入确认密码',
'rePassword.confirm' => '密码跟确认密码不一致',
'mobile.require' => '请输入手机号码',
'mobile.regex' => '请输入一个合法的手机号码',
];
// 场景验证
protected $scene = [
//用户添加场景验证
'add' => ['username','password','rePassword','mobile'],
];
// 自定义手机号码校验规则
protected $regex = ['mobile' => '^1[3|4|5|6|7|8][0-9]\d{4,8}$'];
/**
* 功能描述: 自定义密码复杂度验证
* @author 救火队队长
* @param $value 验证数据,这里指密码的值
* @param $rule 验证规则
* @param array $data 用户提交的数据
* @return bool
*/
protected function checkPwd($value, $rule, $data = [])
{
if ((preg_match('/[a-z]/', $value)) && (preg_match('/[0-9]/', $value))
&& (preg_match('/[A-Z]/', $value))) {
return true;
}
return false;
}
}
```
- 前言
- 编码规范
- 全局错误码、数据返回封装设计
- 全局通用model层layui数据返回封装
- 用户管理
- 设计
- 数据库设计
- 实现
- 添加用户
- 用户模型
- 用户校验层
- 用户service层
- 用户控制器层
- Postman-测试用户添加
- 编辑用户
- 用户校验层
- 用户service层
- 用户控制器层
- Postman-测试用户编辑
- 删除用户
- 用户service层
- 用户控制器层
- Postman-测试用户删除
- 查询用户
- 用户模型
- 用户service层
- 用户控制器层
- Postman-测试用户查询
- 用户登陆退出
- 设计
- 数据库设计
- 实现
- 用户登陆退出日志
- 用户登陆退出日志模型
- 用户登陆
- 开启session
- 自定义验证码,输出纯数字的验证码
- 用户登陆校验层
- 用户登陆service层
- 用户登陆控制器层,多次登陆失败后,账户锁定
- 用户退出
- 用户退出service层
- 用户退出控制器层
- 权限管理
- 设计
- 数据库设计
- 实现
- 角色管理
- 节点管理(菜单、按钮权限)
- 全局token校验
- 全局权限校验
- 全局操作日志记录
- 源码下载