Node.js with express:丢失表单数据,如果发现错误
当我提交表单并发现错误(例如“缺少年龄”)时,整个表单数据将被清除干净。
我只需要为用户重新填充已经输入的数据。目前我正在尝试查看是否可以提取数据并将其传递给表单数据(如下所示)。任何帮助都是极好的。非常感谢。
这是我有的:
Controller.js
exports.createStore = async(req, res) => {
var store = new Store(req.body);
req.checkBody('age', 'Age cannot be blank').notEmpty();
var errors = req.validationErrors();
if (errors) {
res.render('WebPage', {
title: 'Webpage Title',
errors: errors,
formData: {
age: req.body.age
}
});
} else {
//Do all the things
}
}
回答如下:
您使用的是模板引擎,如哈巴狗或车把吗?如果是这样,您将需要获取formData.age
的值并将其分配给html输入中的值
如果你使用ejs模板引擎,<input name="age" type="text" value="<%= formData.age || '' %>" />
。基本上,您必须从render
调用中获取值并使用它来设置HTML中的值
Node.js with express:丢失表单数据,如果发现错误
当我提交表单并发现错误(例如“缺少年龄”)时,整个表单数据将被清除干净。
我只需要为用户重新填充已经输入的数据。目前我正在尝试查看是否可以提取数据并将其传递给表单数据(如下所示)。任何帮助都是极好的。非常感谢。
这是我有的:
Controller.js
exports.createStore = async(req, res) => {
var store = new Store(req.body);
req.checkBody('age', 'Age cannot be blank').notEmpty();
var errors = req.validationErrors();
if (errors) {
res.render('WebPage', {
title: 'Webpage Title',
errors: errors,
formData: {
age: req.body.age
}
});
} else {
//Do all the things
}
}
回答如下:
您使用的是模板引擎,如哈巴狗或车把吗?如果是这样,您将需要获取formData.age
的值并将其分配给html输入中的值
如果你使用ejs模板引擎,<input name="age" type="text" value="<%= formData.age || '' %>" />
。基本上,您必须从render
调用中获取值并使用它来设置HTML中的值