Skip to content

Commit d26033d

Browse files
committed
Merge pull request angular-ui#16 from Coneko/sync-validity
Added fix for angular-ui#6 by @DiegoPires.
2 parents 83c09f0 + 3a4fec2 commit d26033d

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/select2.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,24 @@ angular.module('ui.select2', []).value('uiSelect2Config', {}).directive('uiSelec
8080
});
8181
}
8282

83+
// Update valid and dirty statuses
84+
controller.$parsers.push(function (value) {
85+
var div = elm.prev()
86+
if (controller.$valid) {
87+
div.removeClass("ng-invalid").addClass("ng-valid");
88+
div.removeClass("ng-invalid-required").addClass("ng-valid-required");
89+
}
90+
if (!controller.$valid) {
91+
div.removeClass("ng-valid").addClass("ng-invalid");
92+
div.removeClass("ng-valid-required").addClass("ng-invalid-required");
93+
}
94+
if (controller.$pristine)
95+
div.removeClass("ng-dirty").addClass("ng-pristine");
96+
if (controller.$dirty)
97+
div.removeClass("ng-pristine").addClass("ng-dirty");
98+
return value;
99+
});
100+
83101
if (!isSelect) {
84102
// Set the view and model value and update the angular template manually for the ajax/multiple select2.
85103
elm.bind("change", function () {

0 commit comments

Comments
 (0)