diff --git a/apps/portal/src/app/i18n/locales/am.ts b/apps/portal/src/app/i18n/locales/am.ts index 01ca9d651..d249fa8ab 100644 --- a/apps/portal/src/app/i18n/locales/am.ts +++ b/apps/portal/src/app/i18n/locales/am.ts @@ -523,6 +523,7 @@ export const am: Translations = { signup: { usernameMinLength: "የተጠቃሚ ስም ቢያንስ 3 ቁምፊዎች ሊኖረው ይገባል", nameEnRequired: "ስም (እንግሊዝኛ) ያስፈልጋል", + nameEnFullNameRequired: "እባክዎ ሙሉ ስምዎን ያስገቡ (የመጀመሪያ እና የአባት ስም)", phoneRequired: "ስልክ ቁጥር ያስፈልጋል", confirmPasswordRequired: "የይለፍ ቃልዎን ያረጋግጡ", passwordsDontMatch: "የይለፍ ቃላት አይመሳሰሉም", @@ -530,7 +531,7 @@ export const am: Translations = { brandSubtitle: "የ{{appName}} አገልግሎቶችን ለመድረስ መለያዎን ይፍጠሩ።", title: "መለያ ይፍጠሩ", subtitle: "ለመጀመር አንድ ደቂቃ ብቻ ይወስዳል።", - nameEnLabel: "ስም (እንግሊዝኛ)", + nameEnLabel: "ሙሉ ስም (እንግሊዝኛ)", nameEnPlaceholder: "አበበ በቀለ", nameAmLabel: "ስም (አማርኛ)", nameAmPlaceholder: "ስም", diff --git a/apps/portal/src/app/i18n/locales/en.ts b/apps/portal/src/app/i18n/locales/en.ts index 0eb638cf1..27c11597c 100644 --- a/apps/portal/src/app/i18n/locales/en.ts +++ b/apps/portal/src/app/i18n/locales/en.ts @@ -523,6 +523,7 @@ export const en = { signup: { usernameMinLength: 'Username must be at least 3 characters', nameEnRequired: 'Name (English) is required', + nameEnFullNameRequired: 'Please enter your full name (first and last)', phoneRequired: 'Phone number is required', confirmPasswordRequired: 'Confirm your password', passwordsDontMatch: 'Passwords do not match', @@ -530,7 +531,7 @@ export const en = { brandSubtitle: 'Create your account to access {{appName}} features.', title: 'Create account', subtitle: 'It only takes a minute to get started.', - nameEnLabel: 'Name (English)', + nameEnLabel: 'Full name (English)', nameEnPlaceholder: 'Abebe Bekele', nameAmLabel: 'Name (Amharic)', nameAmPlaceholder: 'ስም', diff --git a/libs/auth/src/lib/pages/SignupPage.tsx b/libs/auth/src/lib/pages/SignupPage.tsx index 4017ded9d..164b720cd 100644 --- a/libs/auth/src/lib/pages/SignupPage.tsx +++ b/libs/auth/src/lib/pages/SignupPage.tsx @@ -90,7 +90,12 @@ export function SignupPage() { username: z.string().min(3, { message: t('signup.usernameMinLength', 'Username must be at least 3 characters') }), phoneNumber: z.string().min(1, { message: t('signup.phoneRequired', 'Phone number is required') }), userType: z.literal('individual'), - nameEn: z.string().min(1, { message: t('signup.nameEnRequired', 'Name (English) is required') }), + nameEn: z + .string() + .min(1, { message: t('signup.nameEnRequired', 'Name (English) is required') }) + .refine((v) => v.trim().split(/\s+/).length >= 2, { + message: t('signup.nameEnFullNameRequired', 'Please enter your full name (first and last)'), + }), nameAm: z.string().optional(), password: passwordSchema(8, passwordRuleLabels), confirmPassword: z.string().min(1, { message: t('signup.confirmPasswordRequired', 'Confirm your password') }), @@ -210,7 +215,7 @@ export function SignupPage() { } error={errors.nameEn?.message}