Надеюсь, это поможет ... при отправке формы будет отображен результат
app.component.ts
export class AppComponent implements OnInit {
form: FormGroup;
constructor(private formBuilder: FormBuilder){}
ngOnInit() {
this.form = this.formBuilder.group({
nestedForm: this.formBuilder.array([
this.formBuilder.group({
age: [null, Validators.required],
dob: [null, Validators.required],
validObject: [false]
}),
this.formBuilder.group({
age: [null, Validators.required],
dob: [null, Validators.required],
validObject: [false]
})
])
});
}
checkFormValidation() {
this.form.get('nestedForm')['controls'].filter(item => {
if(item.get('age').valid || item.get('dob').valid) {
item.get('validObject').setValue(true);
} else {
item.get('validObject').setValue(false);
}
});
}}
app.component. html
<div class="container">
<form [formGroup]="form" (submit)="checkFormValidation()">
<div formArrayName="nestedForm" *ngFor="let item of form.get('nestedForm')['controls']; let i = index">
<ng-container [formGroupName]="i">
<div class="form-group">
<label for="email">Age:</label>
<input type="number" class="form-control" id="email" formControlName="age" placeholder="Enter Age" name="email">
</div>
<div class="form-group">
<label for="pwd">DOB:</label>
<input type="text" class="form-control" id="pwd" formControlName="dob" placeholder="Enter DOB" name="pwd">
</div>
<span [ngClass]="item.get('validObject').value ? 'success' : 'error'">Valid: {{item.get('validObject').value}}</span>
</ng-container>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
app.component. css
.success {
color: green;
}
.error {
color: red;
}