diff --git a/package.json b/package.json index d5678c25..a0016825 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "version": "1.0.0", "packageManager": "pnpm@11.10.0", "scripts": { - "dev": "pnpm --filter '@tinyrack/tinyauth-*' --parallel dev", + "dev": "pnpm --filter \"@tinyrack/tinyauth-*\" --parallel dev", "test": "node packages/tools/src/scripts/run-validation-tests.ts", "build": "pnpm -r --workspace-concurrency=Infinity build", "biome": "biome", diff --git a/packages/frontend/src/i18n/locales/en.json b/packages/frontend/src/i18n/locales/en.json index bb1e87a5..96cbcb21 100644 --- a/packages/frontend/src/i18n/locales/en.json +++ b/packages/frontend/src/i18n/locales/en.json @@ -91,6 +91,7 @@ "register.submitting": "Creating account...", "register.subtitle": "Create a new account to get started", "register.title": "Create account", + "validation.email.required": "Please enter your email address", "validation.email.invalid": "Invalid email format", "validation.password.max": "Password must be at most {{count}} characters", "validation.password.min": "Password must be at least {{count}} characters", diff --git a/packages/frontend/src/i18n/locales/ja.json b/packages/frontend/src/i18n/locales/ja.json index 4d909d15..73cee52e 100644 --- a/packages/frontend/src/i18n/locales/ja.json +++ b/packages/frontend/src/i18n/locales/ja.json @@ -91,6 +91,7 @@ "register.submitting": "アカウント作成中...", "register.subtitle": "新しいアカウントを作成して始めましょう", "register.title": "アカウント作成", + "validation.email.required": "メールアドレスを入力してください", "validation.email.invalid": "正しいメールアドレスの形式ではありません", "validation.password.max": "パスワードは{{count}}文字以下である必要があります", "validation.password.min": "パスワードは{{count}}文字以上である必要があります", diff --git a/packages/frontend/src/i18n/locales/ko.json b/packages/frontend/src/i18n/locales/ko.json index 9ee96973..49624fbc 100644 --- a/packages/frontend/src/i18n/locales/ko.json +++ b/packages/frontend/src/i18n/locales/ko.json @@ -91,6 +91,7 @@ "register.submitting": "회원가입 중...", "register.subtitle": "새 계정을 만들어 시작하세요", "register.title": "계정 만들기", + "validation.email.required": "이메일 주소를 입력해주세요", "validation.email.invalid": "올바른 이메일 형식이 아닙니다", "validation.password.max": "비밀번호는 최대 {{count}}자까지 가능합니다", "validation.password.min": "비밀번호는 최소 {{count}}자 이상이어야 합니다", diff --git a/packages/frontend/src/routes/login/password/index.tsx b/packages/frontend/src/routes/login/password/index.tsx index c9040e9e..451e7f69 100644 --- a/packages/frontend/src/routes/login/password/index.tsx +++ b/packages/frontend/src/routes/login/password/index.tsx @@ -87,7 +87,10 @@ function LoginPassword() { const loginSchema = useMemo( () => z.object({ - email: z.email(t('validation.email.invalid')), + email: z + .string() + .min(1, t('validation.email.required')) + .pipe(z.email(t('validation.email.invalid'))), password: z.string().min(1, t('validation.password.required')), }), [t], diff --git a/packages/frontend/src/routes/password/forgot/index.tsx b/packages/frontend/src/routes/password/forgot/index.tsx index 02469a02..0b7a6f78 100644 --- a/packages/frontend/src/routes/password/forgot/index.tsx +++ b/packages/frontend/src/routes/password/forgot/index.tsx @@ -55,7 +55,10 @@ function ForgotPassword() { const forgotPasswordSchema = useMemo( () => z.object({ - email: z.email({ error: t('validation.email.invalid') }), + email: z + .string() + .min(1, t('validation.email.required')) + .pipe(z.email(t('validation.email.invalid'))), }), [t], ); diff --git a/packages/frontend/src/routes/register/index.tsx b/packages/frontend/src/routes/register/index.tsx index 254f4244..ea510cf0 100644 --- a/packages/frontend/src/routes/register/index.tsx +++ b/packages/frontend/src/routes/register/index.tsx @@ -116,7 +116,10 @@ function Register() { const registerSchema = useMemo( () => z.object({ - email: z.email(t('validation.email.invalid')), + email: z + .string() + .min(1, t('validation.email.required')) + .pipe(z.email(t('validation.email.invalid'))), password: z .string() .min(