Вам нужно создать элементы управления формой, вы уже определили их, но вам нужно что-то вроде следующего.Вам нужно инициализировать группу форм.
import { NgForm, FormGroup, FormBuilder } from '@angular/forms';
//Be sure to import formBuilder and inject through constructor. This will allow you
//to manage how you will build the form and add validation.
//Its a helper class provided by Angular to help us explicitly declare forms.
constructor( private formBuilder: FormBuilder ){}
public ngOnInit(): void {
this.loginForm = this.formBuilder.group({
username: ['', Validators.required],
password: ['', Validators.required]
});
Здесь вы можете определить элементы управления и валидаторы для группы форм.(Этот пример просто указывает на то, что для каждого из них должно быть определено значение. Это должно быть встроено в ngOnInit
.
. Затем в вашем шаблоне вы можете удалить [(ngModel)]
и сделатьэто выглядит следующим образом: Значение для ввода будет удерживаться внутри элемента управления, когда вам нужно получить к нему доступ.
<form [formGroup]="loginForm" (ngSubmit)="onSubmit()">
<input type="text" name ="user" [formControlName]="'username'"
class="form-control" required>
<form>
Выше приведен пример для имени пользователя / адреса электронной почты для входа в систему. Также как упоминалосьв комментариях у вас есть опечатка в форме в HTML.
Это должно быть допустимо, когда вы пытаетесь получить доступ к valid
и invalid
свойствам группы from. Комментируйте, если у вас есть какие-либопроблема.
Вот документация Angular для реактивных форм .