1
0
Files
helper/application/common/validate/Member.php
2020-08-06 14:58:51 +08:00

72 lines
2.7 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
// +------------------------------------------------+
// |http://www.cjango.com |
// +------------------------------------------------+
// | 修复BUG不是一朝一夕的事情等我喝醉了再说吧 |
// +------------------------------------------------+
// | Author: 小陈叔叔 <Jason.Chen> |
// +------------------------------------------------+
namespace app\common\validate;
use think\Db;
use think\Validate;
use tools\Crypt;
class Member extends Validate
{
/**
* 验证规则
* @var array
*/
protected $rule = [
'username' => 'require|length:4,32|unique:member',
'password' => 'require|length:6,32',
'openid' => 'require',
'oldpass' => 'require|length:6,32|verifyPassword:',
'newpass' => 'require|length:6,32|different:oldpass',
'repass' => 'require|length:6,32|confirm:newpass',
];
/**
* 提示信息
* @var array
*/
protected $message = [
'username.require' => '用户名必须填写',
'username.length' => '用户名长度应在:1-:2位之间',
'username.unique' => '用户名已经存在',
'password.require' => '密码必须填写',
'password.length' => '密码长度应在:1-:2位之间',
'oldpass.require' => '原始密码必须填写',
'oldpass.length' => '原始密码长度应在:1-:2位之间',
'oldpass.verifyPassword' => '原始密码不正确',
'newpass.require' => '新密码必须填写',
'newpass.length' => '新密码长度应在:1-:2位之间',
'newpass.different' => '新密码不能与原始密码相同',
'repass.require' => '确认密码必须填写',
'repass.length' => '确认密码长度应在:1-:2位之间',
'repass.confirm' => '两次输入的密码不一致',
'openid.require' => '绑定失败',
];
/**
* 验证场景
* @var array
*/
protected $scene = [
'changepass' => ['oldpass', 'newpass', 'repass'],
'updatepass' => ['password'],
'openid' => ['openid'],
'forget' => ['newpass', 'repass'],
'register' => ['username', 'password'],
'login' => ['username' => 'require|length:4,32', 'password'],
'mobileRegister' => ['username', 'password', 'repass' => 'require|confirm:password'],
];
protected function verifyPassword($value, $rule, $data)
{
return Crypt::uMd5($value) == Db::name('Member')->where('id', $data['uid'])->value('password');
}
}