Я использую express-validator
для проверки текстовых полей и multer
для проверки аватаров.Но у меня есть проблема, express-validator
прекратил проверку текстовых полей, если вы оставите поле пустым, экспресс-валидатор не выдаст сообщение об ошибке, что поле пустое.
Я отображал текстовые поля вотдельная переменная:
import { check, validationResult } from 'express-validator/check';
const validatorSignup = [
check('user_name').exists().isLength({ min: 4, max: 20 }),
....
];
Далее я хочу при регистрации проверить, все ли поля заполнены пользователем и загружен ли аватар:
router.post('/signup', (req, res) => {
try {
upload(req, res, validatorSignup, (err) => {
console.log(req.body)
const errors = validationResult(req.body);
if (!errors.isEmpty()) {
return res.status(422).json({
err: errors.array()
});
}
....
} catch (err) {
return res.status(500).json({
err: err
});
}
});
Но я получаю ошибку:
onFinished(req, function () { next(err) })
^
TypeError: next is not a function
Помогите решить мою проблему.