diff options
| author | Pawel Kozlowski | 2013-07-18 20:44:27 +0200 | 
|---|---|---|
| committer | Igor Minar | 2013-07-24 14:41:54 -0700 | 
| commit | dc1e55ce1a314b6c1ad4b9d5b4a31226e1fa1e18 (patch) | |
| tree | 44795a8f90ab110067d149b107c94cc105da16b2 | |
| parent | 408e868237d80f9332f2c540f91b2809d9938fbc (diff) | |
| download | angular.js-dc1e55ce1a314b6c1ad4b9d5b4a31226e1fa1e18.tar.bz2 | |
fix(form): pick the right attribute name for ngForm
Closes #2997
| -rw-r--r-- | src/ng/directive/form.js | 4 | ||||
| -rw-r--r-- | test/ng/directive/formSpec.js | 11 | 
2 files changed, 13 insertions, 2 deletions
| diff --git a/src/ng/directive/form.js b/src/ng/directive/form.js index 77f4379e..72f752be 100644 --- a/src/ng/directive/form.js +++ b/src/ng/directive/form.js @@ -40,7 +40,7 @@ function FormController(element, attrs) {        errors = form.$error = {};    // init state -  form.$name = attrs.name; +  form.$name = attrs.name || attrs.ngForm;    form.$dirty = false;    form.$pristine = true;    form.$valid = true; @@ -102,7 +102,7 @@ function FormController(element, attrs) {     *     * @description     * Sets the validity of a form control. -   *  +   *     * This method will also propagate to parent forms.     */    form.$setValidity = function(validationToken, isValid, control) { diff --git a/test/ng/directive/formSpec.js b/test/ng/directive/formSpec.js index 347d4476..f8e4cf63 100644 --- a/test/ng/directive/formSpec.js +++ b/test/ng/directive/formSpec.js @@ -63,6 +63,17 @@ describe('form', function() {      expect(scope.myForm.alias).toBeDefined();    }); +  it('should use ngForm value as form name when nested inside form', function () { +    doc = $compile( +      '<form name="myForm">' + +        '<div ng-form="nestedForm"><input type="text" name="alias" ng-model="value"/></div>' + +      '</form>')(scope); + +    expect(scope.myForm).toBeDefined(); +    expect(scope.myForm.nestedForm).toBeDefined(); +    expect(scope.myForm.nestedForm.alias).toBeDefined(); +  }); +    it('should publish form to scope when name attr is defined', function() {      doc = $compile('<form name="myForm"></form>')(scope); | 
