Я использую node.js и экспресс для создания веб-приложения CRUD, и я пытаюсь понять, как заставить всплывающее сообщение появляться в форме ввода данных, когда проверка на стороне сервера не удалась. Я использую экспресс-вспышку для флэш-сообщений.
Код проверки работает, возвращая ошибки, и я создаю флэш-сообщение:
var errors = validateForm(req);
if(errors){
req.flash('info',errors);
res.render('edit', {messages: req.flash('info')});
}
И отобразите сообщение в файле edit.jade:
if messages.info
p #{messages.info}
Проблема в том, что я редактирую конкретный объект, а URL не /edit, а /edit/objectID. Получение страницы выглядит следующим образом:
router.get('/edit/:id', function(req, res) {
var db = req.db;
var collection = db.get('mydb');
collection.find({ID: req.params.id},{},function(e,docs){
res.render('edit', {"object" : docs});
});
});
Можно ли добавить флэш-сообщение для проверки на стороне сервера после отправки POST без потери идентификатора страницы? Мне не нужны все данные из редактирования, будет проверка на стороне клиента, чтобы, надеюсь, выявить любые ошибки, но я хотел бы, чтобы ошибки проверки на стороне сервера заставляли пользователя приземляться на той же странице объекта, на которой он ушел.