我正在使用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;
}
答案 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>
会插入一行用于视觉目的)