我正在使用nodejs构建一个应用程序。
我创建了一个表单,并且正在对用户输入进行后端验证。基本上,我有一个 var,“messages”,每次遇到输入错误时,我都会将错误附加到消息中。
var messages ="";
errors.forEach(function(msgObject) {
console.log(msgObject.message);
messages += msgObject.message + "\r\n";
})
(我还使用指示性 -- http://indicative.adonisjs.com/ -- 进行错误验证。它返回一个数组错误)
我使用 connect-flash 将错误返回给用户
req.flash("error", messages);
我正在使用连接闪存 https://www.npmjs.com/package/connect-flash
我的问题是 connect-flash 忽略换行符。即,我得到类似的东西:
我希望每个错误消息都位于单独的行上。我似乎无法找到实现这一目标的方法。有什么想法吗?
这是问题的一个简单版本:为什么 req.flash("errors", "hello\n goodbye") 返回
hello goodbye
而不是
hello
goodbye
最佳答案
您的原始帖子中缺少一些可以帮助您解决自己的问题的内容。
- 您使用什么模板语言来显示通知?它是否转义了换行符?
- 您应该使用 HTML 吗?所以
<br />
而不是\n
. - 为什么不使用多个
req.flash
按顺序创建通知数组?
3:见下文
// Set a flash message by passing the key, followed by the value, to req.flash().
req.flash('info', 'Flash is back!')
req.flash('info', 'Another message!')
// Get an array of flash messages by passing the key to req.flash()
res.render('index', { messages: req.flash('info') });
因为我们有 array
消息,您可以迭代 messages
数组来单独显示它们:
{% for message in messages %}<li>{{ message }}</li>{% endfor %}
关于javascript - 如何让 connect-flash 返回多条消息或带有换行符的一条消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42233828/