| <?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; |
| } |
| } |
|
|