繁体   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