Проблема в том, что только реактивные формы принимают: 1 - FormControl 2 - FormGroup 3 - FormArray
Если вам нужно создать вложенную форму, попробуйте что-то вроде этого
public dataForm:FormGroup = new FormGroup({
name: ['', [Validators.required]],
user: new FormGroup({
firstname: new FormControl(''),
lastname: new FormControl('')
})
})
и проверьте ошибки
isControlInvalid(controlName: string): boolean {
const control = this.formBasic.controls[controlName];
const result = control.invalid && control.touched;
return result;
}
в компоненте
<form [formGroup]="dataForm">
<div>
<input type="text" formControlName="name">
<div class="error" *ngIf="isControlInvalid('name')"></div>
</div>
<fieldset formGroupName="user">
<input type="text" formControlName="firstname">
<input type="text" formControlName="lastname">
</fieldset>
</form>
Я придерживаюсь логи c, что нет необходимости помещать sh отображаемый компонент в большой лог c, для условий идеально проверять значение true \ false