FormBuilder

export class FormBuilder

exported from angular2/common defined in angular2/src/common/forms/form_builder.ts (line 4)

Creates a form object from a user-specified configuration.

Example (live demo)

@Component({ selector: 'my-app', viewBindings: [FORM_BINDINGS] template: ` <form [ngFormModel]="loginForm"> <p>Login <input ngControl="login"></p> <div ngControlGroup="passwordRetry"> <p>Password <input type="password" ngControl="password"></p> <p>Confirm password <input type="password" ngControl="passwordConfirmation"></p> </div> </form> <h3>Form value:</h3> <pre>{{value}}</pre> `, directives: [FORM_DIRECTIVES] }) export class App { loginForm: ControlGroup; constructor(builder: FormBuilder) { this.loginForm = builder.group({ login: ["", Validators.required], passwordRetry: builder.group({ password: ["", Validators.required], passwordConfirmation: ["", Validators.required, asyncValidator] }) }); } get value(): string { return JSON.stringify(this.loginForm.value, null, 2); } }

Annotations

@Injectable()


Members

group(controlsConfig: {[key: string]: any}, extra?: {[key: string]: any}) : ControlGroup

Construct a new ControlGroup with the given map of configuration. Valid keys for the extra parameter map are optionals and validator.

See the ControlGroup constructor for more details.

control(value: Object, validator?: Function, asyncValidator?: Function) : Control

Construct a new Control with the given value,validator, and asyncValidator.

array(controlsConfig: any[], validator?: Function, asyncValidator?: Function) : ControlArray

Construct an array of Controls from the given controlsConfig array of configuration, with the given optional validator and asyncValidator.