logicloom-nextjs-starter
Version:
A production-ready Next.js starter template with authentication, i18n, dark mode, and modern patterns
28 lines (24 loc) • 929 B
text/typescript
import { z } from "zod";
export const loginSchema = z.object({
email: z.string().min(1, "Email is required").email("Invalid email address"),
password: z.string().min(1, "Password is required"),
});
export const registerSchema = z
.object({
name: z
.string()
.min(1, "Name is required")
.min(2, "Name must be at least 2 characters"),
email: z.string().min(1, "Email is required").email("Invalid email address"),
password: z
.string()
.min(1, "Password is required")
.min(8, "Password must be at least 8 characters"),
confirmPassword: z.string().min(1, "Please confirm your password"),
})
.refine((data) => data.password === data.confirmPassword, {
message: "Passwords do not match",
path: ["confirmPassword"],
});
export type LoginInput = z.infer<typeof loginSchema>;
export type RegisterInput = z.infer<typeof registerSchema>;