Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在Expressjs中向用户显示此错误_Node.js_Express_Ejs - Fatal编程技术网

Node.js 如何在Expressjs中向用户显示此错误

Node.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是否存在并向用户显示错误,如firstname.msg

[{"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];