簡體   English   中英

Javascript-警報對象數組中的第一項嗎?

[英]Javascript - Alert first item in object's arrays?

我收到一個錯誤的錯誤部分的API服務器響應,如下所示:

"errors": {
    "username": [
        "The username field is required."
    ],
    "password": [
        "The password field is required.",
        "The password is too short."
    ]
}

要顯示單個錯誤,我可以這樣做: alert(results.body.errors.username); 手動。

我需要做的是在錯誤對象上映射(如果存在),並僅警告第一項錯誤。

因此,根據以上API響應,第一個警報應為The username field is required.

一旦用戶更正后,如果用戶尚未觸摸密碼字段並且他們重​​新提交,他們將收到另一個帶有錯誤的API響應,因此下一個警報錯誤應為The password field is required.

最后,一旦他們輸入了一個字符並重新提交,下一個警報應為The password is too short.

此后,由於沒有更多錯誤可顯示,因此沒有更多警報。

任何想法如何使它工作?

考慮到這是響應:

var response = {
  "errors": {
    "username": [
      "The username field is required."
    ],
    "password": [
      "The password field is required.",
      "The password is too short."
    ]
  }
}

這將達到目的

alert(response.errors[Object.keys(response.errors)[0]][0])

在您的情況下,將results.body替換為response

演示1: 必填用戶名字段。

 var response = { "errors": { "username": [ "The username field is required." ], "password": [ "The password field is required.", "The password is too short." ] } } alert(response.errors[Object.keys(response.errors)[0]][0]); 

Demo2: 密碼字段為必填。

 var response = { "errors": { "password": [ "The password field is required.", "The password is too short." ] } } alert(response.errors[Object.keys(response.errors)[0]][0]); 

Demo3: 密碼太短。

 var response = { "errors": { "password": [ "The password is too short." ] } } alert(response.errors[Object.keys(response.errors)[0]][0]); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM