From 0b11714cfcfc83e8fbf8048548bf22ddf66e54b9 Mon Sep 17 00:00:00 2001 From: Stoyan Tzenkov Date: Wed, 31 Oct 2018 13:28:18 +0200 Subject: [PATCH 1/2] NY-4388 fixed using apache commons validator Signed-off-by: Stoyan Tzenkov --- pom.xml | 7 +++++++ .../java/biz/nynja/account/components/Validator.java | 9 ++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index 78278a1..c022f16 100644 --- a/pom.xml +++ b/pom.xml @@ -149,6 +149,13 @@ commons-lang3 3.8.1 + + + + commons-validator + commons-validator + 1.4.1 + diff --git a/src/main/java/biz/nynja/account/components/Validator.java b/src/main/java/biz/nynja/account/components/Validator.java index 2d66430..e56d20e 100644 --- a/src/main/java/biz/nynja/account/components/Validator.java +++ b/src/main/java/biz/nynja/account/components/Validator.java @@ -37,6 +37,7 @@ import biz.nynja.account.grpc.ErrorResponse.Cause; import biz.nynja.account.grpc.UpdateAccountRequest; import biz.nynja.account.grpc.UpdateProfileRequest; import biz.nynja.account.models.CountryInfo; +import org.apache.commons.validator.routines.EmailValidator; /** * Component which contains all validation methods. @@ -166,17 +167,11 @@ public class Validator { } public boolean isEmailValid(String email) { - logger.debug("Checking email: {}", email); - final String EMAIL_PATTERN = "^(?!\\.)[\\w!#$%&’*+/=?`{|}~^.-]{0,63}[\\w!#$%&’*+/=?`{|}~^-]{1}@(?!\\.)[a-zA-Z0-9-.]{0,229}[a-zA-Z0-9]{1}.[a-zA-Z0-9]{2,25}$"; - - Pattern pattern = Pattern.compile(EMAIL_PATTERN); - Matcher matcher = pattern.matcher(email); + boolean isValid = EmailValidator.getInstance().isValid(email); - boolean isValid = matcher.matches(); logger.debug("Email: {} is valid: {}", email, isValid); - return isValid; } -- GitLab From 2131b738788db1d1c0a137a69ff7d1232fcc9a27 Mon Sep 17 00:00:00 2001 From: Stoyan Tzenkov Date: Thu, 1 Nov 2018 14:05:23 +0200 Subject: [PATCH 2/2] javax.email validation implemented Signed-off-by: Stoyan Tzenkov --- pom.xml | 7 +++---- .../biz/nynja/account/components/Validator.java | 16 +++++++++++----- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index c022f16..ad665e6 100644 --- a/pom.xml +++ b/pom.xml @@ -150,11 +150,10 @@ 3.8.1 - - commons-validator - commons-validator - 1.4.1 + com.sun.mail + javax.mail + 1.6.2 diff --git a/src/main/java/biz/nynja/account/components/Validator.java b/src/main/java/biz/nynja/account/components/Validator.java index e56d20e..d35f819 100644 --- a/src/main/java/biz/nynja/account/components/Validator.java +++ b/src/main/java/biz/nynja/account/components/Validator.java @@ -37,7 +37,8 @@ import biz.nynja.account.grpc.ErrorResponse.Cause; import biz.nynja.account.grpc.UpdateAccountRequest; import biz.nynja.account.grpc.UpdateProfileRequest; import biz.nynja.account.models.CountryInfo; -import org.apache.commons.validator.routines.EmailValidator; +import javax.mail.internet.AddressException; +import javax.mail.internet.InternetAddress; /** * Component which contains all validation methods. @@ -167,12 +168,17 @@ public class Validator { } public boolean isEmailValid(String email) { + boolean result = true; logger.debug("Checking email: {}", email); - boolean isValid = EmailValidator.getInstance().isValid(email); - - logger.debug("Email: {} is valid: {}", email, isValid); - return isValid; + try { + InternetAddress emailAddr = new InternetAddress(email); + emailAddr.validate(); + } catch (AddressException ex) { + result = false; + } + logger.debug("Email: {} is valid: {}", email, result); + return result; } public boolean isFirstNameValid(String firstName) { -- GitLab