有后端验证的标准方法吗?

问题描述 投票:0回答:1

我正在用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 输入字段被绕过,数据仍然在后端得到验证。

javascript node.js express validation
1个回答
0
投票

我建议将它们合并为一个响应。否则,用户可能会更正一个错误,但却会出现另一个错误,并想知道为什么这两个错误一开始都没有显示。

也许类似:

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
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.