最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

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

IT培训 admin 11浏览 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);
}

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

我正在使用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. 暂无评论