create-auth-js-boiler
Version:
Create a new auth-js-boiler project
35 lines (27 loc) • 1.01 kB
text/typescript
import z from "zod";
export const registerSchema = z.object({
name: z.string().min(2).max(255),
email: z.string().email().min(8).max(255),
password: z.string().min(6).max(255),
});
export const loginSchema = z.object({
email: z.string().email(),
password: z.string(),
code: z.optional(z.string()),
});
export const forgotPasswordSchema = z.object({
email: z.string().email(),
});
export const newPasswordSchema = z
.object({
password: z.string().min(6).max(255),
confirmPassword: z.string().min(6).max(255),
})
.refine((data) => data.password === data.confirmPassword, {
message: "Passwords do not match",
path: ["confirmPassword"], // This tells Zod which field to attach the error to
});
export type registerSchemaType = z.infer<typeof registerSchema>;
export type loginSchemaType = z.infer<typeof loginSchema>;
export type forgotPasswordSchemaType = z.infer<typeof forgotPasswordSchema>;
export type newPasswordSchemaType = z.infer<typeof newPasswordSchema>;