En mi aplicación Node.js, tengo una función (enrutado por expreso), que presenta un formulario para el usuario:mensaje de error Pasando a la plantilla a través de redireccionamiento in exprés/Node.js
app.get('/register', function (req, res) {
res.render('form');
});
tengo otro función, enrutada a la misma URL, pero que maneja las solicitudes POST, que recibe los datos enviados por el formulario anterior. Si el formulario no valida, redirige al usuario de vuelta al formulario; de lo contrario, se hace lo que se debe hacer:
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')
});
});
Lo que quiero hacer es enviar un mensaje de error que se presentará, en la línea de:
if (validate(req.registerForm)) return res.redirect('back');
escribir algo como
if (validate(req.registerForm)) return res.render('form', {msg:'invalid'});
es inaceptable porque deseo seguir el patrón POST-REDIRECT-GET. Yo podría hacer algo como
if (validate(req.registerForm)) return res.redirect('/register?msg=invalid');
pero sería codificar una URL en mi código y preferiría evitar. ¿Hay alguna otra forma de hacerlo?
http://stackoverflow.com/q uestions/5555053/how-to-validate-and-handle-a-form-in-express-nodejs/5558861 # comment16886850_5558861 – chovy