我有以下观点
router.post('/save',
[
body('name').not().isEmpty().withMessage('name empty'),
body('surname').not().isEmpty().withMessage('surname empty'),
body('email').not().isEmpty().withMessage('email empty'),
body('password').not().isEmpty().withMessage('password empty')
],
(req, res)=>{
let errors = validationResult(req);
if (!errors.isEmpty()) {
req.session.msgs = errors.array({ onlyFirstError: true });
return res.redirect('/signup');
}
//save form data......
});
好的,所以我从登录表单中获取了一些数据,我想回到那个登录表单,并附带一些错误消息。
除了重定向后表单为空外,一切正常。如果我把除了之外的所有东西都说成密码,我会回到表格并且是空的,所以我必须从头开始再填充它。我想回去,名字,姓氏和电子邮件仍在那里并重新输入密码。
有没有办法可以回去,哪些不是空的领域,还有他们的价值观?
谢谢
[node 8.11.1 + express 4.16.3 + express-validator]
答案 0 :(得分:0)
当您使用node 8.x
时,您可以使用nodejs
的核心模块
querystring
。使用此功能,您可以在查询字符串中发送数据。我们的想法是将收到的参数发送回重定向视图,如
const params= querystring.stringify({
"name": body('name'),
"surname": body('surname'),
"email": body('email')
...
});
res.redirect('/signup?' + params);
现在,这些参数将在您的视图中提供,您可以在singup
视图中访问这些参数并填写相关字段