Skip to content
This repository was archived by the owner on Aug 15, 2021. It is now read-only.

Commit 037ca31

Browse files
committed
External validation changes
1 parent 6f07a03 commit 037ca31

7 files changed

+17
-17
lines changed

bower.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "angular-auto-validate",
3-
"version": "1.19.4",
3+
"version": "1.19.6",
44
"description": "An automatic validation module for AngularJS which gets rid of excess html in favour of dynamic element modification to notify the user of validation errors",
55
"main": "dist/jcs-auto-validate.js",
66
"keywords": [

dist/jcs-auto-validate.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* angular-auto-validate - v1.19.4 - 2016-06-16
2+
* angular-auto-validate - v1.19.6 - 2016-06-17
33
* https://github.com/jonsamwell/angular-auto-validate
44
* Copyright (c) 2016 Jon Samwell (http://www.jonsamwell.com)
55
*/
@@ -1535,8 +1535,7 @@ angular.module('jcs-autoValidate').config(['$provide',
15351535

15361536
ngModelCtrl.setExternalValidation = function (errorMsgKey, errorMessage, addToModelErrors) {
15371537
if (addToModelErrors) {
1538-
var collection = ngModelCtrl.$error || ngModelCtrl.$errors;
1539-
collection[errorMsgKey] = false;
1538+
ngModelCtrl.$setValidity(errorMsgKey, false);
15401539
}
15411540

15421541
ngModelCtrl.externalErrors = ngModelCtrl.externalErrors || {};
@@ -1546,6 +1545,7 @@ angular.module('jcs-autoValidate').config(['$provide',
15461545

15471546
ngModelCtrl.removeExternalValidation = function (errorMsgKey, addToModelErrors) {
15481547
if (addToModelErrors) {
1548+
ngModelCtrl.$setValidity(errorMsgKey, true);
15491549
var collection = ngModelCtrl.$error || ngModelCtrl.$errors;
15501550
delete collection[errorMsgKey];
15511551
}
@@ -1561,11 +1561,11 @@ angular.module('jcs-autoValidate').config(['$provide',
15611561
if (ngModelCtrl.externalErrors) {
15621562
var errorCollection = ngModelCtrl.$error || ngModelCtrl.$errors;
15631563
angular.forEach(ngModelCtrl.externalErrors, function (value, key) {
1564+
ngModelCtrl.$setValidity(key, true);
15641565
delete errorCollection[key];
15651566
});
15661567

15671568
ngModelCtrl.externalErrors = {};
1568-
15691569
validationManager.resetElement(element);
15701570
}
15711571
};

dist/jcs-auto-validate.min.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "angular-auto-validate",
3-
"version": "1.19.4",
3+
"version": "1.19.6",
44
"description": "An automatic validation module for AngularJS which gets rid of excess html in favour of dynamic element modification to notify the user of validation errors",
55
"main": "angular-auto-validate.min.js",
66
"scripts": {

src/config/ngModelDecorator.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,7 @@ angular.module('jcs-autoValidate').config(['$provide',
6363

6464
ngModelCtrl.setExternalValidation = function (errorMsgKey, errorMessage, addToModelErrors) {
6565
if (addToModelErrors) {
66-
var collection = ngModelCtrl.$error || ngModelCtrl.$errors;
67-
collection[errorMsgKey] = false;
66+
ngModelCtrl.$setValidity(errorMsgKey, false);
6867
}
6968

7069
ngModelCtrl.externalErrors = ngModelCtrl.externalErrors || {};
@@ -74,6 +73,7 @@ angular.module('jcs-autoValidate').config(['$provide',
7473

7574
ngModelCtrl.removeExternalValidation = function (errorMsgKey, addToModelErrors) {
7675
if (addToModelErrors) {
76+
ngModelCtrl.$setValidity(errorMsgKey, true);
7777
var collection = ngModelCtrl.$error || ngModelCtrl.$errors;
7878
delete collection[errorMsgKey];
7979
}
@@ -89,11 +89,11 @@ angular.module('jcs-autoValidate').config(['$provide',
8989
if (ngModelCtrl.externalErrors) {
9090
var errorCollection = ngModelCtrl.$error || ngModelCtrl.$errors;
9191
angular.forEach(ngModelCtrl.externalErrors, function (value, key) {
92+
ngModelCtrl.$setValidity(key, true);
9293
delete errorCollection[key];
9394
});
9495

9596
ngModelCtrl.externalErrors = {};
96-
9797
validationManager.resetElement(element);
9898
}
9999
};

tests/config/ngModelDecorator.spec.js

+3-4
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,7 @@
167167
ngModelController = element.controller('ngModel');
168168
ngModelController.setExternalValidation(errorKey, 'msgKey', true);
169169

170-
171-
expect(ngModelController.$error[errorKey]).to.equal(false);
170+
expect(ngModelController.$error[errorKey]).to.equal(true);
172171
expect(ngModelController.externalErrors[errorKey]).to.equal(false);
173172
});
174173
});
@@ -192,7 +191,7 @@
192191
ngModelController.setExternalValidation(errorKey, 'msgKey', true);
193192

194193

195-
expect(ngModelController.$error[errorKey]).to.equal(false);
194+
expect(ngModelController.$error[errorKey]).to.equal(true);
196195
expect(ngModelController.externalErrors[errorKey]).to.equal(false);
197196

198197
ngModelController.removeExternalValidation(errorKey, true);
@@ -220,7 +219,7 @@
220219
ngModelController = element.controller('ngModel');
221220
ngModelController.setExternalValidation(errorKey, 'msgKey', true);
222221

223-
expect(ngModelController.$error[errorKey]).to.equal(false);
222+
expect(ngModelController.$error[errorKey]).to.equal(true);
224223
expect(ngModelController.externalErrors[errorKey]).to.equal(false);
225224

226225
ngModelController.removeAllExternalValidation();

tests/testPage.html

+3-2
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ <h1>Not Required</h1>
148148
<script type="text/javascript" src="../src/services/debounce.js"></script>
149149
<script type="text/javascript" src="../src/services/defaultErrorMessageResolver.js"></script>
150150
<script type="text/javascript" src="../src/services/foundation5ElementModifier.js"></script>
151+
<script type="text/javascript" src="../src/services/foundation6ElementModifier.js"></script>
151152
<script type="text/javascript" src="../src/services/validationManager.js"></script>
152153
<script type="text/javascript" src="../src/config/ngSubmitDecorator.js"></script>
153154
<script type="text/javascript" src="../src/config/ngModelDecorator.js"></script>
@@ -191,7 +192,7 @@ <h1>Not Required</h1>
191192
};
192193

193194
$scope.setExternalError = function (frm) {
194-
frm.setExternalValidation('firstname', undefined, 'hello joe');
195+
frm.setExternalValidation('firstname', "customError", 'hello joe', true);
195196
};
196197

197198
$scope.toggleBS3Icons();
@@ -313,4 +314,4 @@ <h1>Not Required</h1>
313314
}(angular));
314315
</script>
315316
</body>
316-
</html>
317+
</html>

0 commit comments

Comments
 (0)