From 668eed9c64cc1bf1607439c816954547fd57c9e7 Mon Sep 17 00:00:00 2001 From: smanylov Date: Tue, 16 Dec 2025 11:24:05 +0700 Subject: [PATCH] cyrillic email regex --- src/app/actions/definitions.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/app/actions/definitions.ts b/src/app/actions/definitions.ts index d5f03a2..4b68c1c 100644 --- a/src/app/actions/definitions.ts +++ b/src/app/actions/definitions.ts @@ -16,20 +16,28 @@ export type FormAction = ( formData: FormData ) => Promise +const emailRegex = /^([a-zA-Z0-9.\-_]+|[а-яА-ЯёЁ0-9.\-_]+)@(([a-zA-Z0-9.\-]+)\.([a-zA-Z]{2,})|([a-zA-Z0-9.\-]+)\.([а-яА-ЯёЁ]{2,})|([а-яА-ЯёЁ0-9.\-]+)\.([a-zA-Z]{2,})|([а-яА-ЯёЁ0-9.\-]+)\.([а-яА-ЯёЁ]{2,}))$/i; + export const SignupFormSchema = z .object({ full_name: z .string() .min(3, { error: 'register-error-name' }) .trim(), - email: z.email({ error: 'register-error-valid-email' }).trim(), + email: z + .string() + .trim() + .refine( + (value) => emailRegex.test(value), + { message: 'register-error-valid-email' } + ), phone: z .string() .min(12, { error: 'register-error-phone' }), password: z .string() .min(8, { error: 'register-error-password-symbols' }) - .regex(/[a-zA-Zа-яёА-ЯЁ]/, { error: 'register-error-password-one-letter'}) + .regex(/[a-zA-Zа-яёА-ЯЁ]/, { error: 'register-error-password-one-letter' }) .regex(/[0-9]/, { error: 'register-error-password-one-digit' }) .trim(), confirm_password: z