簡體   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