From f82b20e2fdb421050253264f52bada1b50e5d6d8 Mon Sep 17 00:00:00 2001 From: rustmailer Date: Wed, 14 Jan 2026 01:11:01 +0800 Subject: [PATCH] chore: Set minimum username length to 3 #106 --- src/modules/users/payload.rs | 8 ++++---- web/src/features/users/users/components/action-dialog.tsx | 2 +- web/src/locales/ar.json | 2 +- web/src/locales/da.json | 2 +- web/src/locales/de.json | 2 +- web/src/locales/en.json | 2 +- web/src/locales/es.json | 2 +- web/src/locales/fi.json | 2 +- web/src/locales/fr.json | 2 +- web/src/locales/it.json | 2 +- web/src/locales/jp.json | 2 +- web/src/locales/ko.json | 2 +- web/src/locales/nl.json | 2 +- web/src/locales/no.json | 2 +- web/src/locales/pl.json | 2 +- web/src/locales/pt.json | 2 +- web/src/locales/ru.json | 2 +- web/src/locales/sv.json | 2 +- web/src/locales/zh-tw.json | 2 +- web/src/locales/zh.json | 2 +- 20 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/modules/users/payload.rs b/src/modules/users/payload.rs index df4ae3c..a7e430c 100644 --- a/src/modules/users/payload.rs +++ b/src/modules/users/payload.rs @@ -222,9 +222,9 @@ impl UserCreateRequest { let username_len = self.username.len(); // 1. Username constraints - if username_len < 5 { + if username_len < 3 { return Err(raise_error!( - "Username must be at least 5 characters long.".into(), + "Username must be at least 3 characters long.".into(), ErrorCode::InvalidParameter )); } @@ -351,9 +351,9 @@ impl UserUpdateRequest { pub async fn validate(&self) -> BichonResult<()> { if let Some(username) = &self.username { let len = username.len(); - if len < 5 || len > 32 { + if len < 3 || len > 32 { return Err(raise_error!( - "Username must be 5-32 characters.".into(), + "Username must be 3-32 characters.".into(), ErrorCode::InvalidParameter )); } diff --git a/web/src/features/users/users/components/action-dialog.tsx b/web/src/features/users/users/components/action-dialog.tsx index 7578192..ef241e7 100644 --- a/web/src/features/users/users/components/action-dialog.tsx +++ b/web/src/features/users/users/components/action-dialog.tsx @@ -71,7 +71,7 @@ const accountAccessEntry = (t: any) => z.object({ const baseUserSchema = (t: any) => ({ username: z.string() .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')), email: z.string() .min(1, t('users.actions.schema.email_required')) diff --git a/web/src/locales/ar.json b/web/src/locales/ar.json index b202a0f..7413f96 100644 --- a/web/src/locales/ar.json +++ b/web/src/locales/ar.json @@ -1274,7 +1274,7 @@ "account_required": "يرجى اختيار حساب", "role_required": "يرجى اختيار دور", "username_required": "اسم المستخدم مطلوب", - "username_min": "5 أحرف على الأقل", + "username_min": "3 أحرف على الأقل", "username_max": "32 حرفاً كحد أقصى", "email_required": "البريد الإلكتروني مطلوب", "email_invalid": "يرجى إدخال بريد إلكتروني صالح", diff --git a/web/src/locales/da.json b/web/src/locales/da.json index 327920a..36799a2 100644 --- a/web/src/locales/da.json +++ b/web/src/locales/da.json @@ -1274,7 +1274,7 @@ "account_required": "Vælg venligst en konto", "role_required": "Vælg venligst en rolle", "username_required": "Brugernavn er påkrævet", - "username_min": "Mindst 5 tegn", + "username_min": "Mindst 3 tegn", "username_max": "Højst 32 tegn", "email_required": "E-mail er påkrævet", "email_invalid": "Indtast en gyldig e-mail", diff --git a/web/src/locales/de.json b/web/src/locales/de.json index 6a08d8f..e7a21c7 100644 --- a/web/src/locales/de.json +++ b/web/src/locales/de.json @@ -1274,7 +1274,7 @@ "account_required": "Bitte wählen Sie ein Konto", "role_required": "Bitte wählen Sie eine Rolle", "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", "email_required": "E-Mail-Adresse ist erforderlich", "email_invalid": "Bitte geben Sie eine gültige E-Mail-Adresse ein", diff --git a/web/src/locales/en.json b/web/src/locales/en.json index 9603ec2..8367b9f 100644 --- a/web/src/locales/en.json +++ b/web/src/locales/en.json @@ -1274,7 +1274,7 @@ "account_required": "Please select an account", "role_required": "Please select a role", "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", "email_required": "Email address is required", "email_invalid": "Please enter a valid email address", diff --git a/web/src/locales/es.json b/web/src/locales/es.json index 1131ba9..f04a992 100644 --- a/web/src/locales/es.json +++ b/web/src/locales/es.json @@ -1274,7 +1274,7 @@ "account_required": "Seleccione una cuenta", "role_required": "Seleccione un rol", "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", "email_required": "El correo es obligatorio", "email_invalid": "Ingrese un correo válido", diff --git a/web/src/locales/fi.json b/web/src/locales/fi.json index f5b5df2..793bf71 100644 --- a/web/src/locales/fi.json +++ b/web/src/locales/fi.json @@ -1274,7 +1274,7 @@ "account_required": "Valitse tili", "role_required": "Valitse rooli", "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ä", "email_required": "Sähköposti on pakollinen", "email_invalid": "Anna kelvollinen sähköpostiosoite", diff --git a/web/src/locales/fr.json b/web/src/locales/fr.json index e2033e7..cc3933d 100644 --- a/web/src/locales/fr.json +++ b/web/src/locales/fr.json @@ -1274,7 +1274,7 @@ "account_required": "Veuillez sélectionner un compte", "role_required": "Veuillez sélectionner un rôle", "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", "email_required": "L'adresse e-mail est requise", "email_invalid": "Veuillez saisir une adresse e-mail valide", diff --git a/web/src/locales/it.json b/web/src/locales/it.json index 7c2d45e..8b034ea 100644 --- a/web/src/locales/it.json +++ b/web/src/locales/it.json @@ -1274,7 +1274,7 @@ "account_required": "Seleziona un account", "role_required": "Seleziona un ruolo", "username_required": "Il nome utente è obbligatorio", - "username_min": "Minimo 5 caratteri", + "username_min": "Minimo 3 caratteri", "username_max": "Massimo 32 caratteri", "email_required": "L'email è obbligatoria", "email_invalid": "Inserisci un'email valida", diff --git a/web/src/locales/jp.json b/web/src/locales/jp.json index 4c29115..0484396 100644 --- a/web/src/locales/jp.json +++ b/web/src/locales/jp.json @@ -1274,7 +1274,7 @@ "account_required": "アカウントを選択してください", "role_required": "ロールを選択してください", "username_required": "ユーザー名は必須です", - "username_min": "ユーザー名は 5 文字以上である必要があります", + "username_min": "ユーザー名は 3 文字以上である必要があります", "username_max": "ユーザー名は 32 文字以内である必要があります", "email_required": "メールアドレスは必須です", "email_invalid": "有効なメールアドレスを入力してください", diff --git a/web/src/locales/ko.json b/web/src/locales/ko.json index 21723d9..dec1cb0 100644 --- a/web/src/locales/ko.json +++ b/web/src/locales/ko.json @@ -1274,7 +1274,7 @@ "account_required": "계정을 선택하세요", "role_required": "역할을 선택하세요", "username_required": "사용자 이름은 필수입니다", - "username_min": "사용자 이름은 5자 이상이어야 합니다", + "username_min": "사용자 이름은 3자 이상이어야 합니다", "username_max": "사용자 이름은 32자를 초과할 수 없습니다", "email_required": "이메일 주소는 필수입니다", "email_invalid": "유효한 이메일 주소를 입력하세요", diff --git a/web/src/locales/nl.json b/web/src/locales/nl.json index 150d483..e80a495 100644 --- a/web/src/locales/nl.json +++ b/web/src/locales/nl.json @@ -1274,7 +1274,7 @@ "account_required": "Selecteer een account", "role_required": "Selecteer een rol", "username_required": "Gebruikersnaam is verplicht", - "username_min": "Minimaal 5 tekens", + "username_min": "Minimaal 3 tekens", "username_max": "Maximaal 32 tekens", "email_required": "E-mail is verplicht", "email_invalid": "Voer een geldig e-mailadres in", diff --git a/web/src/locales/no.json b/web/src/locales/no.json index e44a18c..737a1e8 100644 --- a/web/src/locales/no.json +++ b/web/src/locales/no.json @@ -1274,7 +1274,7 @@ "account_required": "Vennligst velg en konto", "role_required": "Vennligst velg en rolle", "username_required": "Brukernavn er påkrevd", - "username_min": "Minst 5 tegn", + "username_min": "Minst 3 tegn", "username_max": "Maks 32 tegn", "email_required": "E-post er påkrevd", "email_invalid": "Oppgi en gyldig e-postadresse", diff --git a/web/src/locales/pl.json b/web/src/locales/pl.json index b0328d8..8ce206d 100644 --- a/web/src/locales/pl.json +++ b/web/src/locales/pl.json @@ -1274,7 +1274,7 @@ "account_required": "Wybierz konto", "role_required": "Wybierz rolę", "username_required": "Nazwa użytkownika jest wymagana", - "username_min": "Min. 5 znaków", + "username_min": "Min. 3 znaków", "username_max": "Maks. 32 znaki", "email_required": "E-mail jest wymagany", "email_invalid": "Wprowadź poprawny adres e-mail", diff --git a/web/src/locales/pt.json b/web/src/locales/pt.json index d4f10dd..2ffe54b 100644 --- a/web/src/locales/pt.json +++ b/web/src/locales/pt.json @@ -1274,7 +1274,7 @@ "account_required": "Selecione uma conta", "role_required": "Selecione uma função", "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", "email_required": "E-mail é obrigatório", "email_invalid": "Insira um e-mail válido", diff --git a/web/src/locales/ru.json b/web/src/locales/ru.json index a9a7448..617a5cc 100644 --- a/web/src/locales/ru.json +++ b/web/src/locales/ru.json @@ -1274,7 +1274,7 @@ "account_required": "Выберите аккаунт", "role_required": "Выберите роль", "username_required": "Имя пользователя обязательно", - "username_min": "Минимум 5 символов", + "username_min": "Минимум 3 символов", "username_max": "Максимум 32 символа", "email_required": "Эл. почта обязательна", "email_invalid": "Введите корректный адрес эл. почты", diff --git a/web/src/locales/sv.json b/web/src/locales/sv.json index c7e59c7..e6d95da 100644 --- a/web/src/locales/sv.json +++ b/web/src/locales/sv.json @@ -1274,7 +1274,7 @@ "account_required": "Välj ett konto", "role_required": "Välj en roll", "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", "email_required": "E-postadress krävs", "email_invalid": "Ange en giltig e-postadress", diff --git a/web/src/locales/zh-tw.json b/web/src/locales/zh-tw.json index 1e9b9e8..cc6af79 100644 --- a/web/src/locales/zh-tw.json +++ b/web/src/locales/zh-tw.json @@ -1274,7 +1274,7 @@ "account_required": "請選擇一個帳戶", "role_required": "請選擇一個角色", "username_required": "使用者名稱不能為空", - "username_min": "使用者名稱長度至少為 5 個字元", + "username_min": "使用者名稱長度至少為 3 個字元", "username_max": "使用者名稱長度不能超過 32 個字元", "email_required": "電子郵件地址不能為空", "email_invalid": "請輸入有效的電子郵件地址", diff --git a/web/src/locales/zh.json b/web/src/locales/zh.json index 2342585..13fe5fa 100644 --- a/web/src/locales/zh.json +++ b/web/src/locales/zh.json @@ -1274,7 +1274,7 @@ "account_required": "请选择一个账户", "role_required": "请选择一个角色", "username_required": "用户名不能为空", - "username_min": "用户名长度至少为 5 个字符", + "username_min": "用户名长度至少为 3 个字符", "username_max": "用户名长度不能超过 32 个字符", "email_required": "邮箱地址不能为空", "email_invalid": "请输入有效的邮箱地址",