모든 인스턴스에 대해 AbstractControl을 정의하는 대신 Angular Reactive 양식에서 myForm.controls
속성을 사용할 수 있는지 궁금합니다.각도 반응 폼 : formGroupName과 함께 .controls 속성 사용
이 방법은 NG-Book에서 제안되었지만 중첩 된 양식 및 FormGroupName에는 사용되지 않습니다.
여기 내 코드입니다.
HTML :
<form [formGroup]="myForm"
(ngSubmit)="onSubmit(myForm.value)">
<div>
<input type="text"
id="nameInput"
placeholder="Product"
[formControl]="myForm.controls['name']">
<div *ngIf="myForm.controls['name'].hasError('required')">Name is
required</div>
</div>
<div formGroupName="address">
<input type="text"
id="streetInput"
placeholder="Enter Street"
[formControl]="myForm.controls['street']">
<div *ngIf="myForm.controls['street'].hasError('required')">Street is required</div>
</div>
<button type="submit" class="ui button">Submit</button>
JS :
export class App {
myForm: FormGroup;
constructor(fb: FormBuilder) {
this.myForm = fb.group({
'name': ['', Validators.required],
'address': fb.group({
'street': ['', Validators.required],
});
}
}
}
은 내가 입력에 formControlName="street"
을 설정할 수 있습니다 실현하지만 나는 그것을 검증 상태의 결정 AbstractControl를 사용해야 할 것이라고 생각 . 내 중첩되지 않은 formGroup에서와 마찬가지로 나는 단지 myForm.controls['name'].hasError('required')
을 사용할 수 있습니다.
[Plunker] (https://plnkr.co/edit/26ghRmJAmlIWXMqcZ9jT?p=preview) – bzmills