89 lines
2.9 KiB
PHP
89 lines
2.9 KiB
PHP
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | Niucloud-admin 企业快速开发的saas管理平台
|
||
// +----------------------------------------------------------------------
|
||
// | 官方网址:https://www.niucloud-admin.com
|
||
// +----------------------------------------------------------------------
|
||
// | niucloud团队 版权所有 开源版本可自由商用
|
||
// +----------------------------------------------------------------------
|
||
// | Author: Niucloud Team
|
||
// +----------------------------------------------------------------------
|
||
|
||
namespace app\validate\member;
|
||
|
||
use app\dict\common\CommonDict;
|
||
use app\dict\member\MemberDict;
|
||
use think\facade\Lang;
|
||
use think\Validate;
|
||
|
||
/**
|
||
* 会员验证
|
||
* Class Member
|
||
* @package app\validate\member
|
||
*/
|
||
class Member extends Validate
|
||
{
|
||
|
||
|
||
protected $rule = [
|
||
'nickname' => 'requireWithout:field|max:30|requireIf:field,nickname',
|
||
'mobile' => 'mobile',
|
||
'sex' => 'checkSex',
|
||
'birthday' => 'date',
|
||
'username' => 'require|checkUsername',
|
||
'password' => 'require',
|
||
'status' => 'require|checkStatus',
|
||
];
|
||
|
||
protected $message = [
|
||
'nickname.requireWithout' => 'validate_member.nickname_require',
|
||
'nickname.requireIf' => 'validate_member.nickname_require',
|
||
'nickname.max' => 'validate_member.nickname_max',
|
||
'mobile.require' => 'validate_member.mobile_require',
|
||
'mobile.mobile' => 'validate_member.mobile_mobile',
|
||
'birthday' => 'validate_member.birthday_format',
|
||
'username.require' => 'validate_member.username_require',
|
||
'username.unique' => 'validate_member.username_is_exist',
|
||
'password.require' => 'validate_member.password_require',
|
||
|
||
'status.require' => 'validate_member.status_require',
|
||
|
||
];
|
||
|
||
protected $scene = [
|
||
'add' => ['birthday', 'mobile', 'password'],
|
||
'edit' => ['sex', 'birthday'],
|
||
'modify' => ['sex', 'birthday'],
|
||
'account_register' => ['username', 'password', 'mobile'],
|
||
'reset_password' => ['password', 'mobile'],
|
||
'set_status' => ['status']
|
||
];
|
||
|
||
/**
|
||
* 账号不能是纯数字
|
||
* @param $value
|
||
* @param $rule
|
||
* @param $data
|
||
* @return Lang|true
|
||
*/
|
||
public function checkUsername($value, $rule, $data = []){
|
||
return preg_match('/^\d+$/', $value) ? get_lang("validate_member.username_cannot_pure_number") : true;
|
||
}
|
||
|
||
/**
|
||
* 自定义验证 性别
|
||
* @param $value
|
||
* @param $rule
|
||
* @param array $data
|
||
* @return Lang|true
|
||
*/
|
||
protected function checkSex($value, $rule, $data = [])
|
||
{
|
||
return isset(CommonDict::getSexType()[$value]) ? true : get_lang("validate_member.sex_bot_exist");
|
||
}
|
||
|
||
protected function checkStatus($value, $rule, $data = [])
|
||
{
|
||
return isset(MemberDict::getStatus()[$value]) ? true : get_lang("validate_member.not_exit_status");
|
||
}
|
||
} |