最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

节点在处理所有错误之前退出循环

运维笔记admin15浏览0评论

节点在处理所有错误之前退出循环

节点在处理所有错误之前退出循环

我正在使用JS对节点应用程序进行一些前端验证。我想遍历每个字段,并传递一个错误,该错误要求该字段具有字段值。当前,如果字段为空,则会将错误传回。但是,如果多个字段为空,则仅传回第一个错误。我将如何传回每个错误?下面的代码:

app.post('/books/new', function (req, res, next) {
  let transaction;

  try {
    errors = [];
    let errorList = []
    for (let i in req.body) {
      if (!req.body[i]) {
        errorList.push(`${[i]} is a required field`)
        throw new Error(errorList);
      } else {
        break;
      }
    }

    Library.create({
      title: req.body.title,
      author: req.body.author,
      genre: req.body.genre,
      year: req.body.year,
    })
    res.redirect('/');
  }
    // if (!req.body) { throw new Error(`${req.params[0]} required`)  } else {

    // }

  // transactionmit();
 catch (err) {
  errors.push(err.message);
  console.log('errors', errors);
  res.render('new-book', {
    errors: errors
  })
}
});
回答如下:
    throw new Error(errorList);

将退出for,从而结束方法

不要把它扔在那里,但要放在外面

if (errorList.length > 0) {
    throw new Error(errorList);
}
发布评论

评论列表(0)

  1. 暂无评论