Tengo un middleware que valida una solicitud entrante usando Joi.
export default (schema: any) => async (req: Request, res: Response, next: NextFunction) => { try { const validation = schema.validate(req, { abortEarly: false }) if (validation.error) throw validation.error return next() } catch (error) { return res.status(400).json({ error: error.details }) } }Para probar, proponer, mi esquema es el siguiente
const schema = Joi.object({ headers: Joi.object() .keys({ page: Joi.string().required() }) .unknown(true) .label('headers'), body: Joi.object({ page: Joi.string().required() }) })Estoy probando esta función con Postman. Cuando no envío el encabezado, falla pero muestra los siguientes errores:
Quiero poder validar solo el campo 'página' en el esquema e ignorar cualquier otro campo anterior.
Cambie su validación y agregue la opción stripUnknown a verdadero:
const validation = schema.validate(req, { abortEarly: false, stripUnknown:true })