FormBuilder

Helper service for concisely constructing reactive form models.

Since Angular 2+ Spec ↗

Syntax

const fb = inject(FormBuilder); fb.group({...})

Parameters

NameTypeRequiredDescription
config object No Shorthand control definitions for group/array/control.

Returns

FormGroup | FormArray | FormControl — The built reactive model.

Examples

import { Component, inject } from '@angular/core';
import { FormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';

@Component({
  selector: 'app-x',
  standalone: true,
  imports: [ReactiveFormsModule],
  template: `<form [formGroup]="form"></form>`,
})
export class XComponent {
  private fb = inject(FormBuilder);
  form = this.fb.group({
    name: ['', Validators.required],
    email: ['', [Validators.required, Validators.email]],
  });
}

Notes

Inject FormBuilder and use group(), array(), and control() to avoid repetitive `new FormControl(...)` calls. Use `fb.nonNullable.group(...)` for non-nullable controls. Functionally equivalent to constructing models by hand.