Javascript - 警告对象数组中的第一项?

标签 javascript 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 响应,第一个警报应该是用户名字段是必填的。

一旦用户更正,假设用户尚未触摸密码字段并重新提交,他们将收到另一个包含错误的 API 响应,因此下一个警报错误应该是 密码字段是必需的。

最后,一旦他们输入单个字符并重新提交,下一个警报应该是密码太短。

此后不再有警报,因为没有更多错误可显示。

知道如何让它发挥作用吗?

最佳答案

考虑到这是响应:

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])

在您的情况下,将 response 替换为 results.body

演示 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]);

演示2: 密码字段是必需的。

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

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

演示3: 密码太短。

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

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

关于Javascript - 警告对象数组中的第一项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38273748/

相关文章:

Java,将字符串数组作为方法参数传递的最有效方法

arrays - Rspec 将空数组解释为缺少 Grape 参数

javascript - GET 请求对象作为 Promise.all 输入

javascript - 自动化提交表单

javascript - 检查自由代码营中的回文(不需要解决方案)

c++ - 从文件输出原始字节,第一个字节已损坏

arrays - 从具有特定 "step"的查询列表中添加值

javascript - 选择 --> 选项,使用值与 ngValue

javascript - React-testing-Library with Jest 无法解析 CRACO 别名

java - 你如何找到一个数组在另一个数组中重复了多少次?