【发布时间】:2019-07-28 15:30:22
【问题描述】:
当我提交表单并发现错误(例如“缺少年龄”)时,整个表单数据都会被擦除干净。
我只需要为用户重新填充已经输入的数据。目前我正在尝试查看是否可以提取数据并将其传递给表单数据(如下所示)。任何帮助都是极好的。非常感谢。
这是我所拥有的:
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
}
}
【问题讨论】:
-
能否包含
checkBody和validationErrors的代码?我怀疑其中一个是变异体。 -
好吧 checkBody 和 validationErrors 都是 express-validation 包的一部分。所以我不想改变那个代码,除非一切都失败了。
-
我想你的意思是
express-validator。在调用checkBody和validationErrors之后,您能否确认req.body是否为空?也许之后立即记录它。这将证明它是否正在变异。如果它没有被变异,那么我怀疑需要类似于@djheru 的解决方案。