繁体   English   中英

自定义响应Express Validator作为JSON

[英]Custom response Express Validator as JSON

我正在使用Express Validator验证用户需求。 我试图创建这样的自定义响应:

{
    "code": 300,
    "status": false,
    "message": "Your email is not valid",
    "param": "email",
    "value": "kevin"
}

但是我得到的是

[
    {
        "code": 300,
        "status": false,
        "message": "Your email is not valid",
        "param": "email",
        "value": "kevin"
    }
]
这是我的代码:

controller.js:

error({msg, param, value, nestedErrors}) {
    var code = 300;
    var format = {code, status:false, message:msg, param:param, value:value, nestedErrors:nestedErrors};
    return format;
}

ResUtils.js

 error({msg, param, value, nestedErrors}) { var code = 300; var format = {code, status:false, message:msg, param:param, value:value, nestedErrors:nestedErrors}; return format; } 

没有[]情况下,如何获得Json的响应。

谢谢。

好吧,我认为这种状态很好,有可能出现多个错误,因此您应该在前端应用程序(或移动设备或任何其他设备)中处理所有消息,以向用户提供有关所有无效字段(或选项或任何内容)的信息。 如果确实只需要一个对象,则可以从数组中选择第一个错误消息。

if(!errors.isEmpty()){
    const errorsArray = errors.array();
    res.status(300).json(errorsArray[0]);
}

但是正如我所说,这是处理所有错误消息的更好方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM