我正在使用 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"
}
]
这是我的代码:
const errors = validationResult(req).formatWith(utils.error);
if(!errors.isEmpty()){
res.status(300).json(errors.array());
}
error({msg, param, value, nestedErrors}) {
var code = 300;
var format = {code, status:false, message:msg, param:param, value:value, nestedErrors:nestedErrors};
return format;
}
如何在没有[]
的情况下以Json的身份获得响应。
谢谢。
答案 0 :(得分:0)
好吧,我认为这种状态很好,有可能出现多个错误,因此您应该在前端应用程序(或移动设备或任何其他设备)中处理所有消息,以向用户提供有关所有无效字段(或选项或任何内容)的信息。如果确实只需要一个对象,则可以从数组中选择第一个错误消息。
if(!errors.isEmpty()){
const errorsArray = errors.array();
res.status(300).json(errorsArray[0]);
}
但是正如我所说的,处理所有错误消息是更好的方法。