From 0f57799aaf1ec449b320f871ac858a0e9faab4fc Mon Sep 17 00:00:00 2001 From: 409 <409dev@protonmail.com> Date: Fri, 29 Aug 2025 16:16:45 +0200 Subject: [PATCH] fix frontend using different email validation --- frontend/lib/schemas/auth.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/frontend/lib/schemas/auth.ts b/frontend/lib/schemas/auth.ts index 288d97e..67fe3c2 100644 --- a/frontend/lib/schemas/auth.ts +++ b/frontend/lib/schemas/auth.ts @@ -1,13 +1,22 @@ import { object, string } from 'yup'; +const EMAIL_REGEX: RegExp = + /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + export const registerSchema = object({ name: string().trim().min(1).required('required'), - email: string().trim().email('Expected a valid email').required('required'), + email: string() + .trim() + .matches(EMAIL_REGEX, 'Expected a valid email') + .required('required'), password: string().trim().min(12).max(32).required('required'), }); export const loginSchema = object({ - email: string().trim().email('Expected a valid email').required('required'), + email: string() + .trim() + .matches(EMAIL_REGEX, 'Expected a valid email') + .required('required'), // Don't include the min and max here to let bad actors waste their time password: string().trim().required('required'), });