Я пытаюсь проверить некоторые входные данные, используя экспресс-валидатор, но у меня есть другие настройки, чем те, которые указаны в документации.
Я проверяю, если body.payload не является нулевым
this.validator.document
public document = async (req: Request, res: Response, next: NextFunction) => {
check("payload").exists({ checkNull: true });
try {
validationResult(req).throw();
next();
} catch (err) {
res.status(422).json({ errors: err.mapped() });
}
}
this.controller.document
public document = async (req: Request, res: Response): Promise<any> => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(422).json({ errors: errors.array() });
}
}
documentRoute
this.router.post("/:id/document",
this.jwtGuard,
this.validator.document,
this.controller.document);
Я знаю, проверка является промежуточным программным обеспечением сама по себе, так как мне справиться с этимвнутри моей существующей функции валидатора, которая может иметь какую-то другую валидацию до этого.
В настоящий момент это не работает, даже если полезная нагрузка установлена в нуль.Он должен перехватить ошибку и вернуть ответ 422, но это не так.