Javascript 为什么我没有在UI中得到验证Flash消息,我会得到如下的Flash错误[object object],[object object],[object object]
我正在开发NodeJs应用程序,它是一个博客应用程序。我使用了express Validator,我正在尝试使用flash消息验证数据,然后在UI端使用express flash消息将帖子保存到数据库中,我成功地将数据保存到数据库中,但在提交表单后,消息没有出现在UI端。我收到类似以下的flash错误[object object object],[object object object],[object object] 我使用的是帕格模板引擎 app.js 哈巴狗 哈巴狗Javascript 为什么我没有在UI中得到验证Flash消息,我会得到如下的Flash错误[object object],[object object],[object object],javascript,node.js,express,express-validator,Javascript,Node.js,Express,Express Validator,我正在开发NodeJs应用程序,它是一个博客应用程序。我使用了express Validator,我正在尝试使用flash消息验证数据,然后在UI端使用express flash消息将帖子保存到数据库中,我成功地将数据保存到数据库中,但在提交表单后,消息没有出现在UI端。我收到类似以下的flash错误[object object object],[object object object],[object object] 我使用的是帕格模板引擎 app.js 哈巴狗 哈巴狗 非常感谢您的帮助。1
非常感谢您的帮助。1我想注意的第一件事是您检查是否存在任何验证错误的方式: const errors=validationResultreq;如果错误{…} 应替换为: const errors=validationResultreq;如果errors.isEmpty{…} 2还有另一个问题,与获取错误数组有关。 而不是: res.renderadd_文章{ 标题:添加文章, 错误:错误 }; 您需要使用: res.renderadd_文章{ 标题:添加文章, 错误:errors.array }; 资料来源:
const express = require("express");
const path = require("path");
const app = express();
const mongoose = require("mongoose");
const Article = require("./models/article");
const bodyParser = require("body-parser");
const { check, validationResult } = require("express-validator");
const flash = require("connect-flash");
const session = require("express-session");
//Express Session Middleware
app.use(
session({
secret: "keyboard cat",
resave: true,
saveUninitialized: true
})
);
app.use(flash());
app.use((req, res, next) => {
res.locals.errors = req.flash("error");
res.locals.successes = req.flash("success");
next();
});
app.get("/articles/add", (req, res) => {
res.render("add_articles", {
title: "Add Articles"
});
});
// Add Submit POST Route
app.post(
"/articles/add",
[
check("title", "Title is required")
.not()
.isEmpty(),
check("author", "Author is required")
.not()
.isEmpty(),
check("body", "Body is required")
.not()
.isEmpty()
],
(req, res) => {
const errors = validationResult(req);
if (errors) {
res.render("add_articles", {
title: "Add Articles",
errors: errors
});
} else {
//GetErrors
let article = new Article();
article.title = req.body.title;
article.author = req.body.author;
article.body = req.body.body;
article.save(err => {
if (err) {
console.log(err);
return;
} else {
req.flash("success", "Article Added");
res.redirect("/");
}
});
}
}
);
.messages
each type in Object.keys(messages)
each message in messages[type]
div(class="alert alert-"+type) #{message}
.container
if successes
for success in successes
div.alert.alert-success #{ success }
if errors
for error , i in errors
div.alert.alert-danger #{ error }