Skip to content

Commit e455440

Browse files
authored
Merge pull request #70 from Aditya-18849/feature/request-validation
feat: implement Joi request validation middleware for auth routes (#50) (Apertre3.0)
2 parents 1761fc7 + 0a3a9c7 commit e455440

6 files changed

Lines changed: 399 additions & 173 deletions

File tree

backend/.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
# Dependencies
77
node_modules/
8-
package-lock.json
98

109
# Logs
1110
*.log
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
const validateRequest = (schema) => {
2+
return (req, res, next) => {
3+
// Check the body against the schema
4+
// abortEarly: false = return ALL errors, not just the first one
5+
const { error } = schema.validate(req.body, { abortEarly: false });
6+
7+
if (error) {
8+
// Extract just the message strings from the error details
9+
const errorMessages = error.details.map((detail) => detail.message);
10+
11+
return res.status(400).json({
12+
success: false,
13+
message: "Validation Error",
14+
errors: errorMessages
15+
});
16+
}
17+
18+
// If valid, let the request pass to the controller
19+
next();
20+
};
21+
};
22+
23+
export default validateRequest;

0 commit comments

Comments
 (0)