From 3e9681cc4205863e62a79fa3d77ecddc8e2ef0a6 Mon Sep 17 00:00:00 2001 From: Saulius Cepauskas Date: Fri, 19 Feb 2016 19:08:57 +0200 Subject: [PATCH] Revalidate model after successful custom validation event broadcasted --- src/directives/field.js | 3 +++ src/services/decorators.js | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/directives/field.js b/src/directives/field.js index 556f30c59..66147d3f2 100644 --- a/src/directives/field.js +++ b/src/directives/field.js @@ -188,6 +188,9 @@ angular.module('schemaForm').directive('sfField', scope.ngModel.$setValidity(error, validity === true); if (validity === true) { + // Re-trigger model validator, that model itself would be re-validated + scope.ngModel.$validate(); + // Setting or removing a validity can change the field to believe its valid // but its not. So lets trigger its validation as well. scope.$broadcast('schemaFormValidate'); diff --git a/src/services/decorators.js b/src/services/decorators.js index bd13a94fc..1aa0987bd 100644 --- a/src/services/decorators.js +++ b/src/services/decorators.js @@ -256,6 +256,9 @@ angular.module('schemaForm').provider('schemaFormDecorators', scope.ngModel.$setValidity(error, validity === true); if (validity === true) { + // Re-trigger model validator, that model itself would be re-validated + scope.ngModel.$validate(); + // Setting or removing a validity can change the field to believe its valid // but its not. So lets trigger its validation as well. scope.$broadcast('schemaFormValidate');