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: `
Login
Password Confirm password
`, 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 a ControlGroup 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