为了账号安全,请及时绑定邮箱和手机立即绑定

Angular Reactive Forms - 验证错误 - 无法读取未定义或空值的属性

Angular Reactive Forms - 验证错误 - 无法读取未定义或空值的属性

ITMISS 2021-12-23 14:53:05
我花了很长时间来理解一些应该很容易的事情。表单验证。我第一次使用反应形式。我正在使用表单生成器。我有一组嵌套的控件。一般来说,我假设您创建了一组带有验证的控件,然后在模板中检查这些控件。我能够提交表单,但在尝试创建验证消息时不断收到错误消息。------ TEMPLATE -------<div class="container">  <div class="row">    <div class="col-sm">      <!-- Begin card -->      <div class="card border">        <div class="card-header bg-light text-primary">          <h3>My Account</h3>        </div>        <div class="card-body border border-light">          <!-- CHANGE PASSWORD BUTTON -->          <div class="row">            <div class="col-sm">              <button class="btn btn-success" (click)="goToChangePassword()">Change Password</button>            </div>          </div>          <!-- Begin Form -->          <form *ngIf="user; else loading" [formGroup]="accountForm" (ngSubmit)="updateUser()">            <hr>            <!-- Phone -->            <fieldset formGroupName="phone">              <div class="form-row">                <div class="form-group col-sm">                  <label>Home Phone</label>                  <input type="number" class="form-control" formControlName="home">                  <div *ngIf="isSubmitted && fControls.home.errors" class="invalid-feedback">                    <div *ngIf="fControls.home.errors.minlength">10 characters min</div>                  </div>                </div>                <div class="form-group col-sm">                  <label>Mobile Phone</label>                  <input type="number" class="form-control" formControlName="mobile">                  <div *ngIf="isSubmitted && fControls.mobile.errors" class="invalid-feedback">                    <div *ngIf="fControls.mobile.errors.minlength">10 characters min</div>                  </div>                </div>
查看完整描述

1 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

使用安全导航操作符 ?。它检查变量是否是nullundefined这样我们的模板不会尝试选择虚假的属性。

在您的情况下,在您尝试使用.operator访问对象属性的模板中使用它,例如:*ngIf="isSubmitted && fControls?.home?.errors"

注意:你不应该使用相同的模型绑定[(ngModel)]="employee?.name"是错误的


查看完整回答
反对 回复 2021-12-23
  • 1 回答
  • 0 关注
  • 242 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号