Получить метод ввода для экземпляра FormGroup возвращает нуль - PullRequest
1 голос
/ 12 марта 2020

Я пытаюсь показать пользовательское сообщение об ошибке только в том случае, если ввод foo недопустим, но кажется, что этот строковый код нулевой: myForm.get('foo').

Вот упрощение component.html :

<form [formGroup]="myForm">
  <div formGroupName="myData">
      Foo: <input type="text" formControlName="foo">
      <span *ngIf="!myForm.get('foo').valid">Not valid foo</span>
      Boo: <input type="text" formControlName="boo">
  </div>
  Zoo: <input type="text" formControlName="zoo">
</form>

И component.ts:

export class AppComponent implements OnInit {
  myForm: FormGroup;

  ngOnInit() {
    this.myForm = new FormGroup({
      'myData': new FormGroup({
        'foo': new FormControl(null, Validators.required),
        'boo': new FormControl(null),
      }),
      'zoo': new FormControl(null)
    });
  }
}

Почему эта строка кода myForm.get('foo') оценивается как нулевая? Что я делаю неправильно? как вы можете видеть foo является действительным FormControl объектом.

1 Ответ

1 голос
/ 12 марта 2020

Вы пытаетесь получить элемент управления вложенной группы форм из основной группы форм.

Попробуйте:

this.myForm.get(['myData', 'foo']);

Или

this.myForm.get('myData.foo');
...