From b20b8f2f213e6f39f0f3eafe3e22df902f3db70a Mon Sep 17 00:00:00 2001 From: mgm09a Date: Fri, 9 Nov 2018 11:09:54 -0600 Subject: [PATCH 1/3] Fix for incorrect validation on "required" with a value of 0 Fixes issue #177 --- src/validation-directive.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/validation-directive.js b/src/validation-directive.js index 3bd2dcc..e471632 100644 --- a/src/validation-directive.js +++ b/src/validation-directive.js @@ -179,7 +179,7 @@ } // invalidate field before doing any validation - if(!!value || commonObj.isFieldRequired() || _validateOnEmpty) { + if((value === "" || value === null || typeof value === "undefined") || commonObj.isFieldRequired() || _validateOnEmpty) { ctrl.$setValidity('validation', false); } @@ -403,7 +403,9 @@ /** Re-evaluate the element and revalidate it, also re-attach the onBlur event on the element */ function revalidateAndAttachOnBlur() { // Revalidate the input when enabled (without displaying the error) - var value = ctrl.$modelValue || ''; + var value = ctrl.$modelValue !== null && typeof ctrl.$modelValue !== 'undefined' + ? ctrl.$modelValue + : ''; if(!Array.isArray(value)) { ctrl.$setValidity('validation', commonObj.validate(value, false)); } From b249f4ae4b9bb91b3231f9a07a4aad5642100fdb Mon Sep 17 00:00:00 2001 From: mgm09a Date: Fri, 9 Nov 2018 11:13:42 -0600 Subject: [PATCH 2/3] Update src/validation-directive.js --- src/validation-directive.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/validation-directive.js b/src/validation-directive.js index e471632..a6f6799 100644 --- a/src/validation-directive.js +++ b/src/validation-directive.js @@ -179,7 +179,7 @@ } // invalidate field before doing any validation - if((value === "" || value === null || typeof value === "undefined") || commonObj.isFieldRequired() || _validateOnEmpty) { + if((value !== "" || value !== null || typeof value !== "undefined") || commonObj.isFieldRequired() || _validateOnEmpty) { ctrl.$setValidity('validation', false); } From 134acccf6891a5e37d019bcced3b8a31f2432be9 Mon Sep 17 00:00:00 2001 From: mgm09a Date: Mon, 12 Nov 2018 08:56:35 -0600 Subject: [PATCH 3/3] Update src/validation-directive.js Fix to properly negate expression. --- src/validation-directive.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/validation-directive.js b/src/validation-directive.js index a6f6799..49fe9b4 100644 --- a/src/validation-directive.js +++ b/src/validation-directive.js @@ -179,7 +179,7 @@ } // invalidate field before doing any validation - if((value !== "" || value !== null || typeof value !== "undefined") || commonObj.isFieldRequired() || _validateOnEmpty) { + if((value !== "" && value !== null && typeof value !== "undefined") || commonObj.isFieldRequired() || _validateOnEmpty) { ctrl.$setValidity('validation', false); }