列表错误显示在控制台中,但div中仅显示一个错误

时间:2019-01-21 14:51:41

标签: javascript node.js axios express-validator

我正在使用express-validator进行表单验证,并使用axios将数据发送到服务器。验证完成后,我将回复发送回去。我可以遍历所有错误并在控制台中一一显示所有错误,但是在我想向用户显示错误的错误div中,它只显示一个错误,而不是像在控制台中一样显示所有错误。

控制器:

  if (!errors.isEmpty()) {
    return res.status(422).json({error: errors.array()});
  }

向用户显示错误:

  const errorLoop = error.response.data.error;
  for (const errMsg of errorLoop) {
    console.log(errMsg.msg);
    const showError = document.querySelector('.error');
    showError.classList.add("notification");
    showError.innerHTML = errMsg.msg;
  }

1 个答案:

答案 0 :(得分:2)

您正在为每个错误设置innerHTML。因此,您要替换它,并且只会看到最后一个错误。

尝试一下:

let errorMessages = ""
for(const errMsg of errorLoop){
    errorMessages += errMsg.msg + "<br>"
}
const showError = document.querySelector('.error')
showError.classList.add("notification")
showError.innerHTML = errorMessages

<br>会插入一行用于视觉目的)