From 255384baa80793d06fc6222687655ab9c2bdb22c Mon Sep 17 00:00:00 2001 From: Jabari Hunt Date: Wed, 13 Dec 2017 14:52:24 -0600 Subject: [PATCH] Made the domain check an option (via third method param). --- src/Valitron/Validator.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/Valitron/Validator.php b/src/Valitron/Validator.php index 13b8e6d..ecbca4e 100644 --- a/src/Valitron/Validator.php +++ b/src/Valitron/Validator.php @@ -84,7 +84,7 @@ class Validator * @param array $fields * @param string $lang * @param string $langDir - * @throws \InvalidArgumentException + * @throws emInvalidArgumentException */ public function __construct($data = array(), $fields = array(), $lang = null, $langDir = null) { @@ -495,14 +495,18 @@ class Validator * @param mixed $value * @return bool */ - protected function validateEmail($field, $value) + protected function validateEmail($field, $value, $checkDomain = false) { + $emailIsValid = false; if (filter_var($value, \FILTER_VALIDATE_EMAIL) !== false) { - $domain = idn_to_ascii(ltrim(stristr($value, '@'), '@'), 0, INTL_IDNA_VARIANT_UTS46) . '.'; - if (checkdnsrr($domain, 'ANY')) {return true;} + $emailIsValid = true; + if ($checkDomain) { + $domain = idn_to_ascii(ltrim(stristr($value, '@'), '@'), 0, INTL_IDNA_VARIANT_UTS46) . '.'; + if (!checkdnsrr($domain, 'ANY')) {$emailIsValid = false;} + } } - return false; + return $emailIsValid; } /**