FormControl

Stable

Class

What it does

Tracks the value and validation status of an individual form control.

It is one of the three fundamental building blocks of Angular forms, along with FormGroup and FormArray.

How to use

When instantiating a FormControl, you can pass in an initial value as the first argument. Example:

const ctrl = new FormControl('some value'); console.log(ctrl.value); // 'some value'

You can also initialize the control with a form state object on instantiation, which includes both the value and whether or not the control is disabled. You can't use the value key without the disabled key; both are required to use this way of initialization.

const ctrl = new FormControl({value: 'n/a', disabled: true}); console.log(ctrl.value); // 'n/a' console.log(ctrl.status); // 'DISABLED'

To include a sync validator (or an array of sync validators) with the control, pass it in as the second argument. Async validators are also supported, but have to be passed in separately as the third arg.

const ctrl = new FormControl('', Validators.required); console.log(ctrl.value); // '' console.log(ctrl.status); // 'INVALID'

See its superclass, AbstractControl, for more properties and methods.

  • npm package: @angular/forms

Class Overview

class FormControl extends AbstractControl {
constructor(formState?: any, validator?: ValidatorFn|ValidatorFn[], asyncValidator?: AsyncValidatorFn|AsyncValidatorFn[])

setValue(value: any, {onlySelf, emitEvent, emitModelToViewChange, emitViewToModelChange}?: {?: boolean,?: boolean,?: boolean,?: boolean}) : void
patchValue(value: any, options?: {?: boolean,?: boolean,?: boolean,?: boolean}) : void
reset(formState?: any, {onlySelf, emitEvent}?: {onlySelf?: boolean,?: boolean}) : void
registerOnChange(fn: Function) : void
registerOnDisabledChange(fn: (isDisabled: boolean) => void) : void

}

Class Description

Constructor

constructor(formState?: any, validator?: ValidatorFn|ValidatorFn[], asyncValidator?: AsyncValidatorFn|AsyncValidatorFn[])

Class Details

exported from @angular/forms/index, defined in @angular/forms/src/model.ts