72 lines
2.7 KiB
PHP
72 lines
2.7 KiB
PHP
<?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');
|
||
}
|
||
}
|