Вместо использования ngModel я бы предложил вам использовать FormGroup
.
TS
public form1: FormGroup;
ngOnInit(){
this.form1 = this.fb.group({});
}
Как только вы получите данные, вы можете выполнить проверку формы.
for(index i = 0 ; i < resDeta.length ; index++){
if (resDeta.req === 'TRUE') {
const control: FormControl = new FormControl(null, Validators.required);
this.form1.addControl(resDeta[index].name, control);
}else{
const control: FormControl = new FormControl(null);
this.form1.addControl(props.name, control);
}
}
HTML
<form [formGroup]="form1" (ngSubmit)="Submit(form1)">
<table>
<thead><tr><th>Name</th><th>Email</th><th>Action</th></tr></thead>
<tbody>
<tr *ngFor="let prop of resDeta; let i=index">
<td><input type="text" [formControlName]="prop.name" [id]="prop.name" [name]="prop.name" placeholder="Enter {{prop.label}}" class="form-control" [attr.maxlength]="prop.length" [value]="prop.name"></td>
<td><input type="text" [formControlName]="prop.name" [id]="prop.name" [name]="prop.name" placeholder="Enter {{prop.label}}" class="form-control" [attr.maxlength]="prop.length" [value]="prop.email"></td>
<td><button type="submit" [disabled]="!form1.valid">Submit</button></td>
</tr>
</tbody>
</table>
</form>