p.location-badge. exported from angular2/forms defined in angular2/src/forms/form_builder.ts (line 4) :markdown Creates a form object from a user-specified configuration. # Example ``` import {Component, View, bootstrap} from 'angular2/angular2'; import {FormBuilder, Validators, formDirectives, ControlGroup} from 'angular2/forms'; @Component({ selector: 'login-comp', viewBindings: [ FormBuilder ] }) @View({ template: `
`, directives: [ formDirectives ] }) class LoginComp { loginForm: ControlGroup; constructor(builder: FormBuilder) { this.loginForm = builder.group({ login: ["", Validators.required], passwordRetry: builder.group({ password: ["", Validators.required], passwordConfirmation: ["", Validators.required] }) }); } } bootstrap(LoginComp) ``` This example creates aControlGroup that consists of a `login` Control, and a
  nested
  ControlGroup that defines a `password` and a `passwordConfirmation` Control:
  
  ```
   var loginForm = builder.group({
     login: ["", Validators.required],
  
     passwordRetry: builder.group({
       password: ["", Validators.required],
       passwordConfirmation: ["", Validators.required]
     })
   });
  
   ```
  
  
.l-main-section
  h2 Annotations
  .l-sub-section
    h3.annotation Injectable
    pre.prettyprint
      code.
        @Injectable()
.l-main-section
  h2 Members
  .l-sub-section
    h3 group
    
    pre.prettyprint
      code.
        group(controlsConfig: StringMap<string, any>, extra?: StringMap<string, any>)
    
    :markdown
      
      
  .l-sub-section
    h3 control
    
    pre.prettyprint
      code.
        control(value: Object, validator?: Function)
    
    :markdown
      
      
  .l-sub-section
    h3 array
    
    pre.prettyprint
      code.
        array(controlsConfig: List<any>, validator?: Function)
    
    :markdown