ai-dev-template / nodejs /src /middleware /validateRequest.ts
Jordandevlog's picture
Upload nodejs/src/middleware/validateRequest.ts
b90b066 verified
Raw
History Blame Contribute Delete
593 Bytes
/**
* Request validation middleware using Zod schemas.
* @module validateRequest
*/
import { Request, Response, NextFunction } from 'express';
import { ZodSchema } from 'zod';
import { ValidationError } from '../utils/errors.js';
export function validateBody<T>(schema: ZodSchema<T>) {
return (req: Request, _res: Response, next: NextFunction): void => {
const result = schema.safeParse(req.body);
if (!result.success) {
const message = result.error.errors.map((e) => e.message).join(', ');
next(new ValidationError(message));
return;
}
next();
};
}