>[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校驗
- 全局權限校驗
- 全局操作日志記錄
- 源碼下載