В моем приложении Node.js, у меня есть функция (маршрутизируемая курьерский), который представляет собой форму для пользователя:Передача сообщения об ошибке через шаблон перенаправление Экспресса/Node.js
app.get('/register', function (req, res) {
res.render('form');
});
У меня есть еще один функция, маршрутизируется на тот же URL-адрес, но обрабатывает запросы POST, который получает данные, представленные предыдущей формой. Если форма не проверяется, она перенаправляет пользователя обратно в форму; в противном случае, он делает то, что должно быть сделано:
app.post('/register', function (req, res) {
if (validate(req.registerForm)) return res.redirect('back');
persistStuff(req.registerForm, function (err, data) {
// Do error verification etc.
res.redirect('back')
});
});
То, что я хочу сделать, это отправить сообщение об ошибке, которая будет представлена в строке:
if (validate(req.registerForm)) return res.redirect('back');
Чтобы написать что-то вроде
if (validate(req.registerForm)) return res.render('form', {msg:'invalid'});
неприемлемо, потому что я хочу следовать шаблону POST-REDIRECT-GET. Я мог бы сделать что-то вроде
if (validate(req.registerForm)) return res.redirect('/register?msg=invalid');
но это будет жёстко в URL в своем коде, и я бы предпочел, чтобы избежать этого. Есть ли другой способ сделать это?
http://stackoverflow.com/q uestions/5555053/how-to-validate-and-handle-a-form-in-express-nodejs/5558861 # comment16886850_5558861 – chovy