Node.js 如何在Expressjs中向用户显示此错误
如何访问名字、姓氏、电子邮件和密码。 示例:如何访问firstname是否存在并向用户显示错误,如firstname.msgNode.js 如何在Expressjs中向用户显示此错误,node.js,express,ejs,Node.js,Express,Ejs,如何访问名字、姓氏、电子邮件和密码。 示例:如何访问firstname是否存在并向用户显示错误,如firstname.msg [{"firstname":{"value":"","msg":"Firstname is required","param":"firstname","location":"body"},&q
[{"firstname":{"value":"","msg":"Firstname is required","param":"firstname","location":"body"},"lastname":{"value":"","msg":"Lastname must not contain number or symbol","param":"lastname","location":"body"},"email":{"value":"","msg":"Email is required","param":"email","location":"body"},"password":{"value":"","msg":"Password is required","param":"password","location":"body"}}]
将数组保存到变量,例如
结果
。然后使用.map();如果是,请将它们保存到新的错误数组中。如果未定义msg
属性,则返回undefined
然后,我们使用.filter()
立即删除未定义的任何元素
,将错误
数组仅保留与结果
数组中的msg
字段相等的字符串元素
最后,我们检查errors
数组中是否有元素,如果有,则返回第一个元素(错误消息);在express中,它将类似于:
if(errors.length>0)返回res.status(400.json)(errors[0])代码>
这将始终返回函数遇到的第一个错误
const results = [{"firstname":{"value":"","msg":"Firstname is required","param":"firstname","location":"body"},"lastname":{"value":"","msg":"Lastname must not contain number or symbol","param":"lastname","location":"body"},"email":{"value":"","msg":"Email is required","param":"email","location":"body"},"password":{"value":"","msg":"Password is required","param":"password","location":"body"}}]
const errors = results
.map(({ firstname, lastname, email, password }) => {
if(firstname.msg) return firstname.msg;
else if (lastname.msg) return lastname.msg;
else if (email.msg) return email.msg;
else if (password.msg) return password.msg;
else return;
})
.filter(error => error);
if(errors.length > 0) return errors[0];