我正在用express.js和node.js编写一个简单的CRUD应用程序,在开发后端API时,这就是我想到的
app.post("/signup", (req, res) => {
const { name, email, password } = req.body;
if (!name) {
res.status(401).json("Please provide a name.");
} else if (!email) {
res.status(401).json("Please provide an email.");
} else if (!password) {
res.status(401).json("Please provide a password.");
}
});
有更好的方法吗?我想确保即使前端
required
HTML 输入字段被绕过,数据仍然在后端得到验证。
我建议将它们合并为一个响应。否则,用户可能会更正一个错误,但却会出现另一个错误,并想知道为什么这两个错误一开始都没有显示。
也许类似:
app.post("/signup", (req, res) => {
const { name, email, password } = req.body;
const errs = [];
if (!name) {
errs.push("Please provide a name.");
}
if (!email) {
errs.push("Please provide an email.");
}
if (!password) {
errs.push("Please provide a password.");
}
if (errs.length > 0) {
res.status(401).json(errs);
} else {
// handle success here
}
});