FormGroupDirective
Binds an existing FormGroup to a DOM element.
See also
-
Register Form Group
The following example registers a
FormGroupwith first name and last name controls, and listens for the ngSubmit event when the button is clicked.- import {Component} from '@angular/core';
- import {FormControl, FormGroup, Validators} from '@angular/forms';
- @Component({
- selector: 'example-app',
- template: `
- <form [formGroup]="form" (ngSubmit)="onSubmit()">
- <div *ngIf="first.invalid"> Name is too short. </div>
- <input formControlName="first" placeholder="First name">
- <input formControlName="last" placeholder="Last name">
- <button type="submit">Submit</button>
- </form>
- <button (click)="setValue()">Set preset value</button>
- `,
- })
- export class SimpleFormGroup {
- form = new FormGroup({
- first: new FormControl('Nancy', Validators.minLength(2)),
- last: new FormControl('Drew'),
- });
- get first(): any { return this.form.get('first'); }
- onSubmit(): void {
- console.log(this.form.value); // {first: 'Nancy', last: 'Drew'}
- }
- setValue() { this.form.setValue({first: 'Carson', last: 'Drew'}); }
- }
NgModule
Selectors
[formGroup]
Properties
| Property | Description |
|---|---|
submitted: boolean
|
Read-only.
Reports whether the form submission has been triggered. |
directives: FormControlName[]
|
Tracks the list of added |
@Input('formGroup')
|
Tracks the |
@Output()
|
Emits an event when the form submission has been triggered. |
formDirective: Form
|
Read-only.
Returns this directive's instance. |
control: FormGroup
|
Read-only.
Returns the |
path: string[]
|
Read-only.
Returns an array representing the path to this group. Because this directive always lives at the top level of a form, it always an empty array. |
Inherited from ControlContainer
Inherited from AbstractControlDirective
-
abstract control: AbstractControl | null -
value: any -
valid: boolean | null -
invalid: boolean | null -
pending: boolean | null -
disabled: boolean | null -
enabled: boolean | null -
errors: ValidationErrors | null -
pristine: boolean | null -
dirty: boolean | null -
touched: boolean | null -
status: string | null -
untouched: boolean | null -
statusChanges: Observable<any> | null -
valueChanges: Observable<any> | null -
path: string[] | null
Template variable references
| Identifier | Usage |
|---|---|
ngForm |
#myTemplateVar="ngForm" |
Description
This directive accepts an existing FormGroup instance. It will then use this
FormGroup instance to match any child FormControl, FormGroup,
and FormArray instances to child FormControlName, FormGroupName,
and FormArrayName directives.
Methods
|
A lifecycle method called when the directive's inputs change. For internal use only. |
|||
Parameters
Returns
|
|
Method that sets up the control directive in this group, re-calculates its value and validity, and adds the instance to the internal list of directives. |
|||
Parameters
Returns |
|
Retrieves the |
|||
Parameters
Returns |
|
Removes the |
|||
Parameters
Returns
|
|
Adds a new |
|||
Parameters
Returns
|
|
No-op method to remove the form group. |
|||
Parameters
Returns
|
|
Retrieves the |
|||
Parameters
Returns |
|
Adds a new |
|||
Parameters
Returns
|
|
No-op method to remove the form array. |
|||
Parameters
Returns
|
|
Retrieves the |
|||
Parameters
Returns |
|
Sets the new value for the provided |
||||||
Parameters
Returns
|
|
Method called with the "submit" event is triggered on the form.
Triggers the |
|
Method called when the "reset" event is triggered on the form. |
ParametersThere are no parameters. Returns
|
|
Resets the form to an initial value and resets its submitted status. |