chore: Set minimum username length to 3 #106

This commit is contained in:
rustmailer
2026-01-14 01:11:01 +08:00
parent 9841038acb
commit f82b20e2fd
20 changed files with 23 additions and 23 deletions
+4 -4
View File
@@ -222,9 +222,9 @@ impl UserCreateRequest {
let username_len = self.username.len(); let username_len = self.username.len();
// 1. Username constraints // 1. Username constraints
if username_len < 5 { if username_len < 3 {
return Err(raise_error!( return Err(raise_error!(
"Username must be at least 5 characters long.".into(), "Username must be at least 3 characters long.".into(),
ErrorCode::InvalidParameter ErrorCode::InvalidParameter
)); ));
} }
@@ -351,9 +351,9 @@ impl UserUpdateRequest {
pub async fn validate(&self) -> BichonResult<()> { pub async fn validate(&self) -> BichonResult<()> {
if let Some(username) = &self.username { if let Some(username) = &self.username {
let len = username.len(); let len = username.len();
if len < 5 || len > 32 { if len < 3 || len > 32 {
return Err(raise_error!( return Err(raise_error!(
"Username must be 5-32 characters.".into(), "Username must be 3-32 characters.".into(),
ErrorCode::InvalidParameter ErrorCode::InvalidParameter
)); ));
} }
@@ -71,7 +71,7 @@ const accountAccessEntry = (t: any) => z.object({
const baseUserSchema = (t: any) => ({ const baseUserSchema = (t: any) => ({
username: z.string() username: z.string()
.min(1, t('users.actions.schema.username_required')) .min(1, t('users.actions.schema.username_required'))
.min(5, t('users.actions.schema.username_min')) .min(3, t('users.actions.schema.username_min'))
.max(32, t('users.actions.schema.username_max')), .max(32, t('users.actions.schema.username_max')),
email: z.string() email: z.string()
.min(1, t('users.actions.schema.email_required')) .min(1, t('users.actions.schema.email_required'))
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "يرجى اختيار حساب", "account_required": "يرجى اختيار حساب",
"role_required": "يرجى اختيار دور", "role_required": "يرجى اختيار دور",
"username_required": "اسم المستخدم مطلوب", "username_required": "اسم المستخدم مطلوب",
"username_min": "5 أحرف على الأقل", "username_min": "3 أحرف على الأقل",
"username_max": "32 حرفاً كحد أقصى", "username_max": "32 حرفاً كحد أقصى",
"email_required": "البريد الإلكتروني مطلوب", "email_required": "البريد الإلكتروني مطلوب",
"email_invalid": "يرجى إدخال بريد إلكتروني صالح", "email_invalid": "يرجى إدخال بريد إلكتروني صالح",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "Vælg venligst en konto", "account_required": "Vælg venligst en konto",
"role_required": "Vælg venligst en rolle", "role_required": "Vælg venligst en rolle",
"username_required": "Brugernavn er påkrævet", "username_required": "Brugernavn er påkrævet",
"username_min": "Mindst 5 tegn", "username_min": "Mindst 3 tegn",
"username_max": "Højst 32 tegn", "username_max": "Højst 32 tegn",
"email_required": "E-mail er påkrævet", "email_required": "E-mail er påkrævet",
"email_invalid": "Indtast en gyldig e-mail", "email_invalid": "Indtast en gyldig e-mail",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "Bitte wählen Sie ein Konto", "account_required": "Bitte wählen Sie ein Konto",
"role_required": "Bitte wählen Sie eine Rolle", "role_required": "Bitte wählen Sie eine Rolle",
"username_required": "Benutzername ist erforderlich", "username_required": "Benutzername ist erforderlich",
"username_min": "Benutzername muss mindestens 5 Zeichen lang sein", "username_min": "Benutzername muss mindestens 3 Zeichen lang sein",
"username_max": "Benutzername darf maximal 32 Zeichen lang sein", "username_max": "Benutzername darf maximal 32 Zeichen lang sein",
"email_required": "E-Mail-Adresse ist erforderlich", "email_required": "E-Mail-Adresse ist erforderlich",
"email_invalid": "Bitte geben Sie eine gültige E-Mail-Adresse ein", "email_invalid": "Bitte geben Sie eine gültige E-Mail-Adresse ein",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "Please select an account", "account_required": "Please select an account",
"role_required": "Please select a role", "role_required": "Please select a role",
"username_required": "Username is required", "username_required": "Username is required",
"username_min": "Username must be at least 5 characters", "username_min": "Username must be at least 3 characters",
"username_max": "Username cannot exceed 32 characters", "username_max": "Username cannot exceed 32 characters",
"email_required": "Email address is required", "email_required": "Email address is required",
"email_invalid": "Please enter a valid email address", "email_invalid": "Please enter a valid email address",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "Seleccione una cuenta", "account_required": "Seleccione una cuenta",
"role_required": "Seleccione un rol", "role_required": "Seleccione un rol",
"username_required": "El nombre de usuario es obligatorio", "username_required": "El nombre de usuario es obligatorio",
"username_min": "Mínimo 5 caracteres", "username_min": "Mínimo 3 caracteres",
"username_max": "Máximo 32 caracteres", "username_max": "Máximo 32 caracteres",
"email_required": "El correo es obligatorio", "email_required": "El correo es obligatorio",
"email_invalid": "Ingrese un correo válido", "email_invalid": "Ingrese un correo válido",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "Valitse tili", "account_required": "Valitse tili",
"role_required": "Valitse rooli", "role_required": "Valitse rooli",
"username_required": "Käyttäjänimi on pakollinen", "username_required": "Käyttäjänimi on pakollinen",
"username_min": "Vähintään 5 merkkiä", "username_min": "Vähintään 3 merkkiä",
"username_max": "Enintään 32 merkkiä", "username_max": "Enintään 32 merkkiä",
"email_required": "Sähköposti on pakollinen", "email_required": "Sähköposti on pakollinen",
"email_invalid": "Anna kelvollinen sähköpostiosoite", "email_invalid": "Anna kelvollinen sähköpostiosoite",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "Veuillez sélectionner un compte", "account_required": "Veuillez sélectionner un compte",
"role_required": "Veuillez sélectionner un rôle", "role_required": "Veuillez sélectionner un rôle",
"username_required": "Le nom d'utilisateur est requis", "username_required": "Le nom d'utilisateur est requis",
"username_min": "Le nom d'utilisateur doit contenir au moins 5 caractères", "username_min": "Le nom d'utilisateur doit contenir au moins 3 caractères",
"username_max": "Le nom d'utilisateur ne peut pas dépasser 32 caractères", "username_max": "Le nom d'utilisateur ne peut pas dépasser 32 caractères",
"email_required": "L'adresse e-mail est requise", "email_required": "L'adresse e-mail est requise",
"email_invalid": "Veuillez saisir une adresse e-mail valide", "email_invalid": "Veuillez saisir une adresse e-mail valide",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "Seleziona un account", "account_required": "Seleziona un account",
"role_required": "Seleziona un ruolo", "role_required": "Seleziona un ruolo",
"username_required": "Il nome utente è obbligatorio", "username_required": "Il nome utente è obbligatorio",
"username_min": "Minimo 5 caratteri", "username_min": "Minimo 3 caratteri",
"username_max": "Massimo 32 caratteri", "username_max": "Massimo 32 caratteri",
"email_required": "L'email è obbligatoria", "email_required": "L'email è obbligatoria",
"email_invalid": "Inserisci un'email valida", "email_invalid": "Inserisci un'email valida",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "アカウントを選択してください", "account_required": "アカウントを選択してください",
"role_required": "ロールを選択してください", "role_required": "ロールを選択してください",
"username_required": "ユーザー名は必須です", "username_required": "ユーザー名は必須です",
"username_min": "ユーザー名は 5 文字以上である必要があります", "username_min": "ユーザー名は 3 文字以上である必要があります",
"username_max": "ユーザー名は 32 文字以内である必要があります", "username_max": "ユーザー名は 32 文字以内である必要があります",
"email_required": "メールアドレスは必須です", "email_required": "メールアドレスは必須です",
"email_invalid": "有効なメールアドレスを入力してください", "email_invalid": "有効なメールアドレスを入力してください",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "계정을 선택하세요", "account_required": "계정을 선택하세요",
"role_required": "역할을 선택하세요", "role_required": "역할을 선택하세요",
"username_required": "사용자 이름은 필수입니다", "username_required": "사용자 이름은 필수입니다",
"username_min": "사용자 이름은 5자 이상이어야 합니다", "username_min": "사용자 이름은 3자 이상이어야 합니다",
"username_max": "사용자 이름은 32자를 초과할 수 없습니다", "username_max": "사용자 이름은 32자를 초과할 수 없습니다",
"email_required": "이메일 주소는 필수입니다", "email_required": "이메일 주소는 필수입니다",
"email_invalid": "유효한 이메일 주소를 입력하세요", "email_invalid": "유효한 이메일 주소를 입력하세요",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "Selecteer een account", "account_required": "Selecteer een account",
"role_required": "Selecteer een rol", "role_required": "Selecteer een rol",
"username_required": "Gebruikersnaam is verplicht", "username_required": "Gebruikersnaam is verplicht",
"username_min": "Minimaal 5 tekens", "username_min": "Minimaal 3 tekens",
"username_max": "Maximaal 32 tekens", "username_max": "Maximaal 32 tekens",
"email_required": "E-mail is verplicht", "email_required": "E-mail is verplicht",
"email_invalid": "Voer een geldig e-mailadres in", "email_invalid": "Voer een geldig e-mailadres in",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "Vennligst velg en konto", "account_required": "Vennligst velg en konto",
"role_required": "Vennligst velg en rolle", "role_required": "Vennligst velg en rolle",
"username_required": "Brukernavn er påkrevd", "username_required": "Brukernavn er påkrevd",
"username_min": "Minst 5 tegn", "username_min": "Minst 3 tegn",
"username_max": "Maks 32 tegn", "username_max": "Maks 32 tegn",
"email_required": "E-post er påkrevd", "email_required": "E-post er påkrevd",
"email_invalid": "Oppgi en gyldig e-postadresse", "email_invalid": "Oppgi en gyldig e-postadresse",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "Wybierz konto", "account_required": "Wybierz konto",
"role_required": "Wybierz rolę", "role_required": "Wybierz rolę",
"username_required": "Nazwa użytkownika jest wymagana", "username_required": "Nazwa użytkownika jest wymagana",
"username_min": "Min. 5 znaków", "username_min": "Min. 3 znaków",
"username_max": "Maks. 32 znaki", "username_max": "Maks. 32 znaki",
"email_required": "E-mail jest wymagany", "email_required": "E-mail jest wymagany",
"email_invalid": "Wprowadź poprawny adres e-mail", "email_invalid": "Wprowadź poprawny adres e-mail",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "Selecione uma conta", "account_required": "Selecione uma conta",
"role_required": "Selecione uma função", "role_required": "Selecione uma função",
"username_required": "Nome de usuário é obrigatório", "username_required": "Nome de usuário é obrigatório",
"username_min": "Mínimo 5 caracteres", "username_min": "Mínimo 3 caracteres",
"username_max": "Máximo 32 caracteres", "username_max": "Máximo 32 caracteres",
"email_required": "E-mail é obrigatório", "email_required": "E-mail é obrigatório",
"email_invalid": "Insira um e-mail válido", "email_invalid": "Insira um e-mail válido",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "Выберите аккаунт", "account_required": "Выберите аккаунт",
"role_required": "Выберите роль", "role_required": "Выберите роль",
"username_required": "Имя пользователя обязательно", "username_required": "Имя пользователя обязательно",
"username_min": "Минимум 5 символов", "username_min": "Минимум 3 символов",
"username_max": "Максимум 32 символа", "username_max": "Максимум 32 символа",
"email_required": "Эл. почта обязательна", "email_required": "Эл. почта обязательна",
"email_invalid": "Введите корректный адрес эл. почты", "email_invalid": "Введите корректный адрес эл. почты",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "Välj ett konto", "account_required": "Välj ett konto",
"role_required": "Välj en roll", "role_required": "Välj en roll",
"username_required": "Användarnamn krävs", "username_required": "Användarnamn krävs",
"username_min": "Användarnamnet måste vara minst 5 tecken", "username_min": "Användarnamnet måste vara minst 3 tecken",
"username_max": "Användarnamnet får inte överstiga 32 tecken", "username_max": "Användarnamnet får inte överstiga 32 tecken",
"email_required": "E-postadress krävs", "email_required": "E-postadress krävs",
"email_invalid": "Ange en giltig e-postadress", "email_invalid": "Ange en giltig e-postadress",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "請選擇一個帳戶", "account_required": "請選擇一個帳戶",
"role_required": "請選擇一個角色", "role_required": "請選擇一個角色",
"username_required": "使用者名稱不能為空", "username_required": "使用者名稱不能為空",
"username_min": "使用者名稱長度至少為 5 個字元", "username_min": "使用者名稱長度至少為 3 個字元",
"username_max": "使用者名稱長度不能超過 32 個字元", "username_max": "使用者名稱長度不能超過 32 個字元",
"email_required": "電子郵件地址不能為空", "email_required": "電子郵件地址不能為空",
"email_invalid": "請輸入有效的電子郵件地址", "email_invalid": "請輸入有效的電子郵件地址",
+1 -1
View File
@@ -1274,7 +1274,7 @@
"account_required": "请选择一个账户", "account_required": "请选择一个账户",
"role_required": "请选择一个角色", "role_required": "请选择一个角色",
"username_required": "用户名不能为空", "username_required": "用户名不能为空",
"username_min": "用户名长度至少为 5 个字符", "username_min": "用户名长度至少为 3 个字符",
"username_max": "用户名长度不能超过 32 个字符", "username_max": "用户名长度不能超过 32 个字符",
"email_required": "邮箱地址不能为空", "email_required": "邮箱地址不能为空",
"email_invalid": "请输入有效的邮箱地址", "email_invalid": "请输入有效的邮箱地址",