diff --git a/src/handlers/user.ts b/src/handlers/user.ts
index b05921e17afbf7c33014c9cdefd10da9e7c39f1f..f4adb5d32d2d534f731e938f6d9b1c0127244c05 100644
--- a/src/handlers/user.ts
+++ b/src/handlers/user.ts
@@ -7,11 +7,24 @@ import bcrypt from "bcrypt";
 import jwt from 'jsonwebtoken';
 
 export default class User{
-    static userRequestValidation (req: Request){    //valida a requisição do usuário
-        const validation = userSchema.safeParse(req.body);
-        return validation.success;
+    static userRequestValidation (req: Request, update: boolean){    //valida a requisição do usuário
+      let validation;
+      if (update)
+        validation = updateUserSchema.safeParse(req.body);
+      else
+        validation = userSchema.safeParse(req.body);
+
+      return validation.success;
     }
 
+    static userUpdateValidation(req: Request) {
+      const validation = updateUserSchema.safeParse(req.body);
+      if (!validation.success) {
+          console.error("Erro de validação:", validation.error.format());
+      }
+      return validation.success;
+    }
+  
     static async userExistenceValidation (id: number){  //verifica se o usuário existe
         const user = await db.select().from(usersTable).where(eq(usersTable.id, id)).limit(1);
         return user.length > 0;
@@ -24,7 +37,7 @@ export default class User{
 
 
     static async updateUser (req: Request, res:Response): Promise<any>{
-        if (!this.userRequestValidation(req))
+        if (!User.userRequestValidation(req, true))
         {
             return res.status(400).json({ erro: "Invalid Request" });
         }
@@ -35,7 +48,7 @@ export default class User{
           return res.status(400).json({ error: "ID inválido" });
         }
 
-        if (!(await this.userExistenceValidation(parsedId)))
+        if (!(await User.userExistenceValidation(parsedId)))
         {
             return res.status(404).json({ error: "Not Found "});
         }
@@ -46,7 +59,7 @@ export default class User{
             hashedPassword = await bcrypt.hash(req.body.password, 10);
         }
 
-        const user_updated = await this.getUser(id);
+        const user_updated = await User.getUser(parsedId);
         
         const updates: Partial<typeof usersTable.$inferInsert> = {
         name: req.body.name || user_updated.name,
@@ -59,24 +72,25 @@ export default class User{
         cyberLimit: req.body.cyberLimit || user_updated.cyberLimit,
         };
 
-        await db.update(usersTable).set(updates).where(eq(usersTable.id, id));
+        await db.update(usersTable).set(updates).where(eq(usersTable.id, parsedId));
 
         return res.status(200).json({ message: "User Updated Successfully "});
     }
 
-    static async deleteUser (id: number, req: Request, res: Response): Promise<any>{
-        if (!this.userRequestValidation(req))
-        {
-            return res.status(400).json({ error: "Invalid Request" });;
+    static async deleteUser (req: Request, res: Response): Promise<any>{
+        const { id } = req.params;
+        const parsedId = parseInt(id, 10);
+        if (isNaN(parsedId)) {
+          return res.status(400).json({ error: "ID inválido" });
         }
 
-        if (!(await this.userExistenceValidation(id)))
+        if (!(await User.userExistenceValidation(parsedId)))
         {
             return res.status(404).json({ error: "Not Found"});
         }
 
         try{
-            await db.delete(usersTable).where(eq(usersTable.id, id));
+            await db.delete(usersTable).where(eq(usersTable.id, parsedId));
             return res.status(200).json({ message: "User removed successfully! "});
         } catch (error){
             return res.status(408).json({ error: "Error during user deletion" });