【问题标题】:*ngIf undefined error in *ngFor when showing error response显示错误响应时 *ngFor 中的 *ngIf 未定义错误
【发布时间】:2020-06-29 07:55:07
【问题描述】:

我有一个 Angular 应用程序和一个基于 Laravel 的 API。我使用 Laravel 中的请求类进行请求验证,并以 JSON 格式获取验证错误。我对输入数组进行了验证,并且验证消息以以下格式显示:

"validation": {
  "items.0": [
    "item required"
  ],
  "items.1": [
    "item required"
  ]
}

我有一个ngFor 循环,用于为items 创建输入字段。 HTML 为

<tr *ngFor="let name of items.controls; index as idx"
   class="form-group">
   <td>
      <p>
         <input [formControlName]="idx" type="text">
      </p>
      <small *ngIf="validationError['items'][idx]" class="text-danger">
          {{validationError['items'][idx]}}
      </small>
   </td>
</tr>

此表单位于模态框中。但是使用这段代码,当我尝试访问打开模式时,它显示 javascript 错误:

ERROR TypeError: Cannot read property '0' of undefined

这是因为只有在单击提交时才会填充错误。在此之前没有错误。如何验证此条件?

【问题讨论】:

  • 错误来自哪里?什么是itemsvalidationError
  • 我将验证错误分配给变量validationError

标签: javascript json angular typescript ngfor


【解决方案1】:

你应该瞄准validationError['items.' + idx],而不是validationError['items'][idx]。 错误来自于您的validationError 对象中没有属性items

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-06
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 2019-01-19
    • 1970-01-01
    • 1970-01-01
    • 2017-11-27
    相关资源
    最近更新 更多