Я использую express -валидаторы и express -сессию для работы с моими формами.
в индексе. js: я перенаправляю на / надпись с ошибками как объект для показать ошибки над полями. Это прекрасно работает.
router.post('/submit-inscription', function (req, res, next) {
req.check('mail', 'Invalid Mail Address').isEmail();
var errors = req.validationErrors();
if (errors) {
req.session.errors = errors;
req.session.success = false;
res.redirect('/inscription');
}
Но тогда, если нет ошибки, я проверяю, не существует ли введенная почта в моем myongodb.
Если она уже существует, Я хотел бы перенаправить на / надпись со специальной ошибкой. Я мог бы сделать это, используя новый параметр сеанса, но я хотел бы сделать это, используя тот же сеанс ошибок.
Итак, я попытался:
else { // email already used
error = {location: 'body', msg:"Email address already registered", param:'mail', value:''};
errors.push(error);
req.session.errors = errors;
res.redirect('/inscription');
}
Ошибка Я получаю это: errors.pu sh это не функция. Я полагаю, это потому, что ошибки - это не массив, а объект.
Поэтому мой вопрос заключается в том, как добавить эту пользовательскую ошибку в мой объект req.session.errors?