aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel Kozlowski2013-07-18 20:44:27 +0200
committerIgor Minar2013-07-24 14:41:54 -0700
commitdc1e55ce1a314b6c1ad4b9d5b4a31226e1fa1e18 (patch)
tree44795a8f90ab110067d149b107c94cc105da16b2
parent408e868237d80f9332f2c540f91b2809d9938fbc (diff)
downloadangular.js-dc1e55ce1a314b6c1ad4b9d5b4a31226e1fa1e18.tar.bz2
fix(form): pick the right attribute name for ngForm
Closes #2997
-rw-r--r--src/ng/directive/form.js4
-rw-r--r--test/ng/directive/formSpec.js11
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);