代码功能更新
This commit is contained in:
Executable
+20
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace app\validate\admin\bot;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Add extends Validate
|
||||
{
|
||||
//数组顺序就是检测的顺序
|
||||
protected $rule = [
|
||||
'password' => 'confirm:re_password|min:6|max:26',
|
||||
];
|
||||
|
||||
//定义内置方法检验失败后返回的字符
|
||||
protected $message = [
|
||||
'password.confirm' => '两次密码输入不相同',
|
||||
'password.min' => '密码长度不能低于6个字符',
|
||||
'password.max' => '密码长度不能高于26个字符',
|
||||
];
|
||||
}
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace app\validate\admin\bot;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Edit extends Validate
|
||||
{
|
||||
//数组顺序就是检测的顺序
|
||||
protected $rule = [
|
||||
'password' => 'confirm:re_password|min:6|max:26',
|
||||
];
|
||||
|
||||
//定义内置方法检验失败后返回的字符
|
||||
protected $message = [
|
||||
'password.confirm' => '两次密码输入不相同',
|
||||
'password.min' => '密码长度不能低于6个字符',
|
||||
'password.max' => '密码长度不能高于26个字符',
|
||||
];
|
||||
}
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace app\validate\admin\member;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Add extends Validate
|
||||
{
|
||||
//数组顺序就是检测的顺序
|
||||
protected $rule = [
|
||||
'password' => 'confirm:re_password|min:6|max:26',
|
||||
];
|
||||
|
||||
//定义内置方法检验失败后返回的字符
|
||||
protected $message = [
|
||||
'password.confirm' => '两次密码输入不相同',
|
||||
'password.min' => '密码长度不能低于6个字符',
|
||||
'password.max' => '密码长度不能高于26个字符',
|
||||
];
|
||||
}
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace app\validate\admin\member;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Edit extends Validate
|
||||
{
|
||||
//数组顺序就是检测的顺序
|
||||
protected $rule = [
|
||||
'password' => 'confirm:re_password|min:6|max:26',
|
||||
];
|
||||
|
||||
//定义内置方法检验失败后返回的字符
|
||||
protected $message = [
|
||||
'password.confirm' => '两次密码输入不相同',
|
||||
'password.min' => '密码长度不能低于6个字符',
|
||||
'password.max' => '密码长度不能高于26个字符',
|
||||
];
|
||||
}
|
||||
Executable
+49
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
namespace app\validate\admin\user;
|
||||
|
||||
use app\model\admin\User;
|
||||
use think\Validate;
|
||||
|
||||
class Add extends Validate
|
||||
{
|
||||
//数组顺序就是检测的顺序
|
||||
protected $rule = [
|
||||
'username' => 'require|length:2,30|checkUsername:',
|
||||
'nickname' => 'require|length:2,30|checkNickname:',
|
||||
'password' => 'require|length:6,30|confirm:re_password',
|
||||
'is_super_manager' => 'require',
|
||||
'status' => 'require',
|
||||
];
|
||||
|
||||
//定义内置方法检验失败后返回的字符
|
||||
protected $message = [
|
||||
'username.require' => '用户名不能为空',
|
||||
'username.length' => '用户名长度2-30',
|
||||
'nickname.require' => '昵称不能为空',
|
||||
'nickname.length' => '昵称长度2-30',
|
||||
'password.require' => '密码不能为空',
|
||||
'password.length' => '密码长度6-30',
|
||||
'password.confirm' => '两次密码输入不相同',
|
||||
'is_super_manager.require' => '请设置用户是否为超级管理员',
|
||||
'status.require' => '请设置账号的状态',
|
||||
];
|
||||
|
||||
//验证用户名的唯一性
|
||||
protected function checkUsername($username, $rule, $data){
|
||||
$userId = User::getFieldByUsername($username, 'id');
|
||||
if($userId){
|
||||
return '用户名已存在';
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//验证昵称的唯一性
|
||||
protected function checkNickname($nickname, $rule, $data){
|
||||
$userId = User::getFieldByUsername($nickname, 'id');
|
||||
if($userId){
|
||||
return '昵称已存在';
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Executable
+53
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
namespace app\validate\admin\user;
|
||||
|
||||
use app\model\admin\User;
|
||||
use think\Validate;
|
||||
|
||||
class Edit extends Validate
|
||||
{
|
||||
//数组顺序就是检测的顺序
|
||||
protected $rule = [
|
||||
'id' => 'require|checkId:',
|
||||
'username' => 'require|length:2,30|checkUsername:',
|
||||
'nickname' => 'require|length:2,30',
|
||||
'password' => 'length:6,30|confirm:re_password',
|
||||
'is_super_manager' => 'require',
|
||||
'status' => 'require',
|
||||
];
|
||||
|
||||
//定义内置方法检验失败后返回的字符
|
||||
protected $message = [
|
||||
'username.require' => '用户名不能为空',
|
||||
'username.length' => '用户名长度2-30',
|
||||
'nickname.require' => '昵称不能为空',
|
||||
'nickname.length' => '昵称长度2-30',
|
||||
'password.length' => '密码长度6-30',
|
||||
'password.confirm' => '两次密码输入不相同',
|
||||
'is_super_manager.require' => '请设置用户是否为超级管理员',
|
||||
'status.require' => '请设置账号的状态',
|
||||
];
|
||||
|
||||
public function checkId($id, $rule, $data)
|
||||
{
|
||||
if ($id == 1) {
|
||||
if ($data['is_super_manager'] == 2) {
|
||||
return '不允许将初始化用户编辑成非超级管理员';
|
||||
}
|
||||
if ($data['status'] == 2) {
|
||||
return '不允许禁用初始化用户';
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//验证用户名的唯一性
|
||||
protected function checkUsername($username, $rule, $data){
|
||||
$userId = User::getFieldByUsername($username,'id');
|
||||
if($userId && $userId != $data['id']){
|
||||
return '用户名已存在';
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Executable
+60
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
namespace app\validate\admin\user;
|
||||
|
||||
use app\model\admin\User;
|
||||
use app\service\ConfServiceFacade;
|
||||
use laytp\library\Str;
|
||||
use think\facade\Config;
|
||||
use think\Validate;
|
||||
|
||||
class Login extends Validate
|
||||
{
|
||||
//数组顺序就是检测的顺序,比如这里,会先检测code验证码的正确性
|
||||
protected $rule = [
|
||||
'verify_code' => 'checkVerifyCode:',
|
||||
'username' => 'require',
|
||||
'password' => 'require|checkPassword:',
|
||||
];
|
||||
|
||||
//定义内置方法检验失败后返回的字符
|
||||
protected $message = [
|
||||
'username.require' => '用户名不能为空',
|
||||
'password.require' => '密码不能为空',
|
||||
];
|
||||
|
||||
//自定义验证码检验方法
|
||||
protected function checkVerifyCode($verifyCode)
|
||||
{
|
||||
if(ConfServiceFacade::get("system.basic.loginNeedCaptcha") == 1){
|
||||
if (!captcha_check($verifyCode)) {
|
||||
return '验证码错误';
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//自定义密码检验方法
|
||||
protected function checkPassword($password, $rule, $data)
|
||||
{
|
||||
$username = $data['username'];
|
||||
$user = User::where('username', '=', $username)->find();
|
||||
if (!$user) {
|
||||
return '用户名或密码错误';
|
||||
}
|
||||
|
||||
$passwordHash = $user->password;
|
||||
if (!Str::checkPassword($password, $passwordHash)) {
|
||||
return '用户名或密码错误';
|
||||
}
|
||||
|
||||
$status = $user->status;
|
||||
if ($status == 2) {
|
||||
return '用户已被禁用,请联系管理员';
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Executable
+36
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace app\validate\admin\user;
|
||||
|
||||
use app\model\admin\User;
|
||||
use think\Validate;
|
||||
|
||||
class singleEdit extends Validate
|
||||
{
|
||||
//数组顺序就是检测的顺序
|
||||
protected $rule = [
|
||||
'id' => 'require',
|
||||
'nickname' => 'require|length:2,30',
|
||||
'old_password' => 'length:6,30|checkOldPassword:',
|
||||
'password' => 'length:6,30|confirm:re_password',
|
||||
];
|
||||
|
||||
//定义内置方法检验失败后返回的字符
|
||||
protected $message = [
|
||||
'id.require' => 'ID不能为空',
|
||||
'nickname.require' => '昵称不能为空',
|
||||
'nickname.length' => '昵称长度2-30',
|
||||
'old_password.length' => '旧密码长度6-30',
|
||||
'password.length' => '新密码长度6-30',
|
||||
'password.confirm' => '两次新密码输入不相同',
|
||||
];
|
||||
|
||||
//验证旧密码是否正确
|
||||
protected function checkOldPassword($oldPassword, $rule, $data){
|
||||
$passwordHash = User::getFieldById($data['id'], 'password');
|
||||
if(!password_verify(md5($oldPassword), $passwordHash)){
|
||||
return '旧密码错误';
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Executable
+34
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace app\validate\api\member;
|
||||
|
||||
//邮箱密码登录验证器
|
||||
use app\model\Member;
|
||||
use laytp\library\Str;
|
||||
use think\Validate;
|
||||
|
||||
class EmailLogin extends Validate
|
||||
{
|
||||
//数组顺序就是检测的顺序,比如这里,会先检测code验证码的正确性
|
||||
protected $rule = [
|
||||
'email' => 'require|email',
|
||||
'password' => 'require|length:6,26|checkPassword:',
|
||||
];
|
||||
|
||||
//定义内置方法检验失败后返回的字符
|
||||
protected $message = [
|
||||
'email.require' => '邮箱不能为空',
|
||||
'email.email' => '邮箱格式不正确',
|
||||
'password.require' => '密码不能为空',
|
||||
'password.length' => '密码长度需要6到26个字符',
|
||||
];
|
||||
|
||||
//自定义密码检验方法
|
||||
protected function checkPassword($password, $rule, $data)
|
||||
{
|
||||
$email = $data['email'];
|
||||
$user = new Member();
|
||||
$passwordHash = $user->getFieldByEmail($email, 'password');
|
||||
return (!Str::checkPassword($password, $passwordHash)) ? '账户信息错误' : true;
|
||||
}
|
||||
}
|
||||
Executable
+36
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace app\validate\api\member;
|
||||
|
||||
//邮箱密码注册验证器
|
||||
use app\model\Member;
|
||||
use think\Validate;
|
||||
|
||||
class EmailReg extends Validate
|
||||
{
|
||||
//数组顺序就是检测的顺序,比如这里,会先检测code验证码的正确性
|
||||
protected $rule = [
|
||||
'email' => 'require|email|checkEmail:',
|
||||
'password' => 'require|length:6,26|confirm:repassword',
|
||||
'repassword' => 'require|length:6,26',
|
||||
];
|
||||
|
||||
//定义内置方法检验失败后返回的字符
|
||||
protected $message = [
|
||||
'email.require' => '邮箱不能为空',
|
||||
'email.email' => '邮箱格式不正确',
|
||||
'password.require' => '密码不能为空',
|
||||
'password.length' => '密码长度需要6到26个字符',
|
||||
'password.confirm' => '两次密码输入不相同',
|
||||
'repassword.require' => '重复密码不能为空',
|
||||
'repassword.length' => '重复密码长度需要6到26个字符',
|
||||
];
|
||||
|
||||
protected function checkEmail($email, $rule, $data){
|
||||
$exist = Member::getFieldByEmail($email,'id');
|
||||
if($exist){
|
||||
return '邮箱已存在';
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user