aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);