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(),
       });