FormGroupDirective
Binds an existing FormGroup
or FormRecord
to a DOM element.
class FormGroupDirective extends ControlContainer implements Form ,OnChanges ,OnDestroy {}
submitted
boolean
Reports whether the form submission has been triggered.
directives
Tracks the list of added FormControlName
instances
ngSubmit
EventEmitter<any>
Emits an event when the form submission has been triggered.
ngOnChanges
void
void
ngOnDestroy
void
void
formDirective
Returns this directive's instance.
path
string[]
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.
addControl
FormControl<any>
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.
FormControl<any>
getControl
FormControl<any>
Retrieves the FormControl
instance from the provided FormControlName
directive
FormControl<any>
removeControl
void
Removes the FormControlName
instance from the internal list of directives
void
addFormGroup
void
Adds a new FormGroupName
directive instance to the form.
void
removeFormGroup
void
Performs the necessary cleanup when a FormGroupName
directive instance is removed from the
view.
void
getFormGroup
FormGroup<any>
Retrieves the FormGroup
for a provided FormGroupName
directive instance
FormGroup<any>
addFormArray
void
Performs the necessary setup when a FormArrayName
directive instance is added to the view.
void
removeFormArray
void
Performs the necessary cleanup when a FormArrayName
directive instance is removed from the
view.
void
getFormArray
FormArray<any>
Retrieves the FormArray
for a provided FormArrayName
directive instance.
FormArray<any>
updateModel
void
Sets the new value for the provided FormControlName
directive.
any
The new value for the directive's control.
void
onSubmit
boolean
Method called with the "submit" event is triggered on the form.
Triggers the ngSubmit
emitter to emit the "submit" event as its payload.
Event
The "submit" event object
boolean
onReset
void
Method called when the "reset" event is triggered on the form.
void
resetForm
void
Resets the form to an initial value and resets its submitted status.
any
The new value for the form.
void
name
string | number | null
The name for the control
value
any
Reports the value of the control if it is present, otherwise null.
valid
boolean | null
Reports whether the control is valid. A control is considered valid if no validation errors exist with the current value. If the control is not present, null is returned.
invalid
boolean | null
Reports whether the control is invalid, meaning that an error exists in the input value. If the control is not present, null is returned.
pending
boolean | null
Reports whether a control is pending, meaning that async validation is occurring and errors are not yet available for the input value. If the control is not present, null is returned.
disabled
boolean | null
Reports whether the control is disabled, meaning that the control is disabled in the UI and is exempt from validation checks and excluded from aggregate values of ancestor controls. If the control is not present, null is returned.
enabled
boolean | null
Reports whether the control is enabled, meaning that the control is included in ancestor calculations of validity or value. If the control is not present, null is returned.
errors
ValidationErrors | null
Reports the control's validation errors. If the control is not present, null is returned.
pristine
boolean | null
Reports whether the control is pristine, meaning that the user has not yet changed the value in the UI. If the control is not present, null is returned.
dirty
boolean | null
Reports whether the control is dirty, meaning that the user has changed the value in the UI. If the control is not present, null is returned.
touched
boolean | null
Reports whether the control is touched, meaning that the user has triggered
a blur
event on it. If the control is not present, null is returned.
status
string | null
Reports the validation status of the control. Possible values include: 'VALID', 'INVALID', 'DISABLED', and 'PENDING'. If the control is not present, null is returned.
untouched
boolean | null
Reports whether the control is untouched, meaning that the user has not yet triggered
a blur
event on it. If the control is not present, null is returned.
statusChanges
Observable<any> | null
Returns a multicasting observable that emits a validation status whenever it is calculated for the control. If the control is not present, null is returned.
valueChanges
Observable<any> | null
Returns a multicasting observable of value changes for the control that emits every time the value of the control changes in the UI or programmatically. If the control is not present, null is returned.
validator
ValidatorFn | null
Synchronous validator function composed of all the synchronous validators registered with this directive.
asyncValidator
AsyncValidatorFn | null
Asynchronous validator function composed of all the asynchronous validators registered with this directive.
reset
void
Resets the control with the provided value if the control is present.
any
void
hasError
boolean
Reports whether the control with the given path has the error specified.
string
The code of the error to check
string | (string | number)[] | undefined
A list of control names that designates how to move from the current control to the control that should be queried for errors.
boolean
For example, for the following FormGroup
:
form = new FormGroup({ address: new FormGroup({ street: new FormControl() })});
The path to the 'street' control from the root form would be 'address' -> 'street'.
It can be provided to this method in one of two formats:
- An array of string control names, e.g.
['address', 'street']
- A period-delimited list of control names in one string, e.g.
'address.street'
If no path is given, this method checks for the error on the current control.
getError
any
Reports error data for the control with the given path.
string
The code of the error to check
string | (string | number)[] | undefined
A list of control names that designates how to move from the current control to the control that should be queried for errors.
any
For example, for the following FormGroup
:
form = new FormGroup({ address: new FormGroup({ street: new FormControl() })});
The path to the 'street' control from the root form would be 'address' -> 'street'.
It can be provided to this method in one of two formats:
- An array of string control names, e.g.
['address', 'street']
- A period-delimited list of control names in one string, e.g.
'address.street'