Using node.js and express (2.5.9) with express-form.
How should I repopulate form fields with the submitted values?
I have a get and a post route. If there are validation errors when the form is posted, I redirect the user back to the get, the problem is that the repopulated locals don’t show up (I do have autoLocals: true, so I assume it’s because I am redirecting and res is reset.)
So how do you guys repopulate and what’s your application flow, do you res.send instead of res.redirect and set up the whole thing again? That seems repetitive.
Here’s an example of my post route:
app.post(
'/projects/:id'
, form(field("title").required("title", "Title is required)
, function (req, res){
if (!req.form.isValid){
res.redirect('/project/'+req.params.id+'/edit');
}
else{
// save to db
}
});
Not sure if it’s best practice, but when I have validation failure, I don’t redirect I just re-render the view (often by passing control to the ‘get’ callback). Somethign like this: