diff --git a/app/Http/Requests/LoginRequest.php b/app/Http/Requests/LoginRequest.php index fb4782a..f35622d 100644 --- a/app/Http/Requests/LoginRequest.php +++ b/app/Http/Requests/LoginRequest.php @@ -33,8 +33,15 @@ class LoginRequest extends FormRequest 'username' => [ 'required', 'string', - 'min:2', - 'max:12', + function ($attribute, $value, $fail) { + $width = mb_strwidth($value, 'UTF-8'); + if ($width < 4) { + $fail('用户名长度不得少于 4 个英文字母(或 2 个汉字)。'); + } + if ($width > 12) { + $fail('用户名长度不得超过 12 个英文字母(或 6 个汉字)。'); + } + }, // 允许中英文数字及常见符号,但严格过滤可能引起XSS/SQL注入的危险字符:< > ' " 'regex:/^[^<>\'"]+$/u', ], @@ -53,8 +60,6 @@ class LoginRequest extends FormRequest { return [ 'username.required' => '必须填写用户名。', - 'username.min' => '用户名长度不得少于 2 个字符。', - 'username.max' => '用户名长度不得超过 12 个字符。', 'username.regex' => '用户名包含非法字符(不允许使用尖括号或引号)。', 'password.required' => '必须填写密码。', 'password.min' => '密码长度不得少于 1 个字符。',