diff --git a/modules/angular2/src/common/forms/directives/ng_form_model.ts b/modules/angular2/src/common/forms/directives/ng_form_model.ts index 26ae1dff6c..e07c497295 100644 --- a/modules/angular2/src/common/forms/directives/ng_form_model.ts +++ b/modules/angular2/src/common/forms/directives/ng_form_model.ts @@ -1,5 +1,6 @@ -import {CONST_EXPR} from 'angular2/src/facade/lang'; +import {CONST_EXPR, isBlank} from 'angular2/src/facade/lang'; import {ListWrapper, StringMapWrapper} from 'angular2/src/facade/collection'; +import {BaseException} from 'angular2/src/facade/exceptions'; import {ObservableWrapper, EventEmitter} from 'angular2/src/facade/async'; import { SimpleChange, @@ -114,6 +115,7 @@ export class NgFormModel extends ControlContainer implements Form, } ngOnChanges(changes: {[key: string]: SimpleChange}): void { + this._checkFormPresent(); if (StringMapWrapper.contains(changes, "form")) { var sync = composeValidators(this._validators); this.form.validator = Validators.compose([this.form.validator, sync]); @@ -173,4 +175,11 @@ export class NgFormModel extends ControlContainer implements Form, dir.valueAccessor.writeValue(ctrl.value); }); } + + private _checkFormPresent() { + if (isBlank(this.form)) { + throw new BaseException( + `ngFormModel expects a form. Please pass one in. Example: