| | <?php |
| | namespace app\common\validate; |
| | use think\Validate; |
| |
|
| | class User extends Validate |
| | { |
| | protected $rule = [ |
| | 'user_name' => 'require|min:6', |
| | 'user_pwd' => 'require', |
| | ]; |
| |
|
| | protected $message = [ |
| | 'user_name.require' => 'validate/require_name', |
| | 'user_name.min' => 'validate/require_name_min', |
| | 'user_pwd.require' => 'validate/require_pass', |
| | ]; |
| |
|
| | protected $scene = [ |
| | 'add' => ['user_name','user_pwd'], |
| | 'edit' => ['user_name'], |
| | ]; |
| |
|
| | |
| | |
| | |
| | |
| | public static function validateEmail($email) |
| | { |
| | list(, $email_host) = explode('@', $email, 2); |
| | |
| | $email_white_host_sets = self::formatEmailHostSets('white'); |
| | if (!empty($email_white_host_sets) && !isset($email_white_host_sets[$email_host])) { |
| | return ['code' => 1001, 'msg' => lang('model/user/email_host_not_allowed')]; |
| | } |
| | |
| | $email_black_host_sets = self::formatEmailHostSets('black'); |
| | if (isset($email_black_host_sets[$email_host])) { |
| | return ['code' => 1002, 'msg' => lang('model/user/email_host_not_allowed')]; |
| | } |
| | return ['code' => 1, 'msg' => 'ok']; |
| | } |
| |
|
| | private static function formatEmailHostSets($type) { |
| | $config_string = isset($GLOBALS['config']['user']['email_' . $type . '_hosts']) ? $GLOBALS['config']['user']['email_' . $type . '_hosts'] : ''; |
| | $email_host_sets = []; |
| | foreach (explode(',', str_replace("\n", ',', $config_string)) as $host) { |
| | $host = trim($host); |
| | if (strlen($host) == 0) { |
| | continue; |
| | } |
| | $email_host_sets[$host] = true; |
| | } |
| | return $email_host_sets; |
| | } |
| | } |
| |
|