diff --git a/src/validators/userValidator.ts b/src/validators/userValidator.ts index cf3f361c640b13d2e6c4594cb0d44e7334718942..79def35a5455ba7e2de0248ace3bd0c9a359910b 100644 --- a/src/validators/userValidator.ts +++ b/src/validators/userValidator.ts @@ -1,13 +1,15 @@ import { z } from 'zod' export const userSchema = z.object({ - name: z.string(), - password: z.string(), - email: z.string().email(), - birthday: z.string(), - cpf: z.string(), - money: z.number(), - cyberpsychosis: z.number(), + name: z.string().min(3, { message: "O nome deve ter pelo menos 3 caracteres" }), + password: z.string().min(8, { message: "A senha deve ter pelo menos 8 caracteres" }), + email: z.string().email({ message: "Formato de e-mail inválido" }), + birthday: z.string().refine(date => !isNaN(Date.parse(date)), + { message: "Data de nascimento inválida" }), + cpf: z.string().min(11, { message: "O CPF deve ter pelo menos 11 números" }) + .regex(/^\d{3}\.\d{3}\.\d{3}-\d{2}$/, "CPF inválido (use o formato 000.000.000-00)"), + money: z.number().nonnegative(), + cyberpsychosis: z.number(), //a definir restrições de validação cyberLimit: z.number(), });