@ AleshaDeveloper, FormArray - это ReactiveForms, [(ngModel)] - это форма, управляемая шаблоном
Ну, создайте функцию, которая возвращает formGroup. Вы можете использовать валидаторы в своей функции
newFormGroup()
{
return new FormGroup({
reqno:new FormControl(''),
req:new FormControl('',Validators.required)
})
}
И использовать его в ngOnInit для создания формы и в функции для добавления элемента
ngOnInit()
{
this.requirement=new FormArray([this.newFormGroup()])
}
addGroup()
{
this.requirement.push(this.newFormGroup())
}
Мы создаем вспомогательную функцию, которая вернуть formGroup из formArray по индексу (*)
groupAt(index)
{
return this.requirement.at(index) as FormGroup
}
Теперь мы можем использовать эту функцию, создавая formGroup для каждой строки
<tr *ngFor="let group of requirement.controls;let i=index" [formGroup]="groupAt(i)">
<td>
<input type="number" formControlName="reqno"/>
</td>
<td>
<textarea type="text" name="Req" formControlName="req"></textarea>
</td>
</tr>
Посмотрите, что вы используете formControlName как другую formGroup см. docs
Вы можете увидеть в stackblitz
(*) Перед Angular вы можете написать [formGroup] = "group" напрямую, но в недавнем Angular вам нужна помощь angular и скажите, что это FormGroup