Вы не можете использовать оба ngModel and FormControlName
или ngModel and formGroup
вместе. Поскольку ngModel
- это шаблон, управляемый формами, тогда как FormControlName
и FormGroup
являются управляемыми формами.
Если вы хотите использовать оба вместе, вы увеличиваете сложность приложения. Если вы хотите получить доступ к значению через formControlName, используйте его как
<form [formGroup]="registerForm" class="text-center" style="color: #757575;">
<div class="form-col">
<div class="col">
<div class="md-form">
<input formControlName="firstName" type="text" id="materialRegisterFormFirstName" class="form-control" mdbInput/>
<label for="materialRegisterFormFirstName">First name</label>
</div>
</div>
</div>
</form>
В файле component.ts напишите как
registerForm = new FormGroup({
firstName: new FormControl([Validator.required]),
});
, иначе вы можете создать группу форм, используя formbuilder, fb
это экземпляр formBuilder
this.registerForm = fb.group({
'fullname': ['', Validators.required],
});
, и вы можете прочитать значение, как это
this.user.firstName = this.registerForm.get('firstName').value;