Creating elegant reactive forms
So far, we have been using the FormGroup
, FormControl
, and FormArray
classes to create our forms, as follows:
loginForm = new FormGroup({ username: new FormControl('', Validators.required), password: new FormControl('', [ Validators.required, Validators.minLength(6) ]) });
The previous way, however, constitutes a lot of noise, especially in forms that contain many controls. Alternatively, we can use an Angular service called FormBuilder
to take away a lot of that noise. We can import FormBuilder
from the @angular/forms
npm package, inject it into the constructor
of the component, and rewrite loginForm
as follows:
constructor(private builder: FormBuilder) { } private buildForm() { this.loginForm = this.builder.group({ username: ['...