• Overview
@angular/forms

UntypedFormBuilder

Class

UntypedFormBuilder is the same as FormBuilder, but it provides untyped controls.

  
    class UntypedFormBuilder extends FormBuilder {
}

group

2 overloads

Like FormBuilder#group, except the resulting group is untyped.

@paramcontrolsConfig{ [key: string]: any; }
@paramoptionsAbstractControlOptions | null | undefined
@deprecated

This API is not typesafe and can result in issues with Closure Compiler renaming. Use the FormBuilder#group overload with AbstractControlOptions instead.

@paramcontrolsConfig{ [key: string]: any; }
@paramoptions{ [key: string]: any; }

Like FormBuilder#control, except the resulting control is untyped.

@paramformStateany
@paramvalidatorOrOptsValidatorFn | FormControlOptions | ValidatorFn[] | null | undefined
@paramasyncValidatorAsyncValidatorFn | AsyncValidatorFn[] | null | undefined

Like FormBuilder#array, except the resulting array is untyped.

@paramcontrolsConfigany[]
@paramvalidatorOrOptsValidatorFn | AbstractControlOptions | ValidatorFn[] | null | undefined
@paramasyncValidatorAsyncValidatorFn | AsyncValidatorFn[] | null | undefined

Returns a FormBuilder in which automatically constructed FormControl elements have {nonNullable: true} and are non-nullable.

Constructing non-nullable controls

When constructing a control, it will be non-nullable, and will reset to its initial value.

          
let nnfb = new FormBuilder().nonNullable;let name = nnfb.control('Alex'); // FormControl<string>name.reset();console.log(name); // 'Alex'

Constructing non-nullable groups or arrays

When constructing a group or array, all automatically created inner controls will be non-nullable, and will reset to their initial values.

          
let nnfb = new FormBuilder().nonNullable;let name = nnfb.group({who: 'Alex'}); // FormGroup<{who: FormControl<string>}>name.reset();console.log(name); // {who: 'Alex'}

Constructing nullable fields on groups or arrays

It is still possible to have a nullable field. In particular, any FormControl which is already constructed will not be altered. For example:

          
let nnfb = new FormBuilder().nonNullable;// FormGroup<{who: FormControl<string|null>}>let name = nnfb.group({who: new FormControl('Alex')});name.reset(); console.log(name); // {who: null}

Because the inner control is constructed explicitly by the caller, the builder has no control over how it is created, and cannot exclude the null.

record

FormRecord<ɵElement<T, null>>

Constructs a new FormRecord instance. Accepts a single generic argument, which is an object containing all the keys and corresponding inner control types.

@paramcontrols{ [key: string]: T; }

A collection of child controls. The key for each child is the name under which it is registered.

@paramoptionsAbstractControlOptions | null

Configuration options object for the FormRecord. The object should have the AbstractControlOptions type and might contain the following fields:

  • validators: A synchronous validator function, or an array of validator functions.
  • asyncValidators: A single async validator or array of async validator functions.
  • updateOn: The event upon which the control should be updated (options: 'change' | 'blur' | submit').
@returnsFormRecord<ɵElement<T, null>>
Jump to details