Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ef6fed3

Browse files
committed
revert: fix(form): ignore properties in $error prototype chain
This reverts commit adf91fe.
1 parent 473dee5 commit ef6fed3

File tree

4 files changed

+5
-21
lines changed

4 files changed

+5
-21
lines changed

src/Angular.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ function forEach(obj, iterator, context) {
263263
obj.forEach(iterator, context, obj);
264264
} else {
265265
for (key in obj) {
266-
if (hasOwnProperty.call(obj, key)) {
266+
if (obj.hasOwnProperty(key)) {
267267
iterator.call(context, obj[key], key, obj);
268268
}
269269
}

src/ng/directive/form.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ function FormController(element, attrs, $scope, $animate, $interpolate) {
6767
var parentForm = form.$$parentForm = element.parent().controller('form') || nullFormCtrl;
6868

6969
// init state
70-
form.$error = createMap();
71-
form.$$success = createMap();
70+
form.$error = {};
71+
form.$$success = {};
7272
form.$pending = undefined;
7373
form.$name = $interpolate(attrs.name || attrs.ngForm || '')($scope);
7474
form.$dirty = false;

src/ng/directive/ngModel.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,8 +233,8 @@ var NgModelController = ['$scope', '$exceptionHandler', '$attrs', '$element', '$
233233
this.$dirty = false;
234234
this.$valid = true;
235235
this.$invalid = false;
236-
this.$error = createMap(); // keep invalid keys here
237-
this.$$success = createMap(); // keep valid keys here
236+
this.$error = {}; // keep invalid keys here
237+
this.$$success = {}; // keep valid keys here
238238
this.$pending = undefined; // keep pending keys here
239239
this.$name = $interpolate($attr.name || '', false)($scope);
240240

test/ng/directive/ngModelSpec.js

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -54,22 +54,6 @@ describe('ngModel', function() {
5454
});
5555

5656

57-
it('should ignore items in prototype chain when determining validity', inject(function($compile) {
58-
dealoc(element);
59-
Object.prototype.someProp = true;
60-
element = $compile('<form name="form"><input type="text" ng-model="value" name="value"></form>')(scope);
61-
var input = element.children().eq(0);
62-
ctrl = input.controller('ngModel');
63-
var form = element.controller('form');
64-
scope.$digest();
65-
expect(ctrl.$valid).toBe(true);
66-
expect(element.children()).toBeValid();
67-
expect(form.$valid).toBe(true);
68-
expect(element).toBeValid();
69-
delete Object.prototype.someProp;
70-
}));
71-
72-
7357
describe('setValidity', function() {
7458

7559
function expectOneError() {

0 commit comments

Comments
 (0)