Files
findyourpilot/src/lib/validation/user.ts
jose 828bf30faf feat: login (#2)
Co-authored-by: Jrodenas <jrodenas@gmail.com>
Reviewed-on: #2
2026-03-23 19:05:56 +00:00

36 lines
1.1 KiB
TypeScript

import * as z from "zod"
export const loginFormSchema = z.object({
email: z.email("Introduce un correo válido"),
password: z.string().min(1, "La contraseña es obligatoria")
})
export const signupFormSchema = z.object({
email: z.email("Introduce un correo válido"),
password: z.string().min(6, "La contraseña debe tener al menos 6 caracteres"),
name: z.string().min(1, "El nombre es obligatorio"),
location: z.string().min(1, "La ubicación es obligatoria"),
redirectUrl: z.string().optional()
})
// Schema extendido para el formulario cliente (incluye confirmación de contraseña)
export const signupClientFormSchema = signupFormSchema
.extend({
confirmPassword: z.string().min(6, "Confirma tu contraseña")
})
.refine((data) => data.password === data.confirmPassword, {
message: "Las contraseñas no coinciden",
path: ["confirmPassword"]
})
export const profileFormSchema = z.object({
id: z.uuid(),
firstName: z.string().min(1, "First name is required"),
lastName: z.string().min(1, "Last name is required")
})
export const userListParamsSchema = z.object({
page: z.number().min(1).default(1),
limit: z.number().min(1).max(100).default(10)
})