Made the domain check an option (via third method param).

This commit is contained in:
Jabari Hunt 2017-12-13 14:52:24 -06:00
parent ae7716c900
commit 255384baa8

View File

@ -84,7 +84,7 @@ class Validator
* @param array $fields * @param array $fields
* @param string $lang * @param string $lang
* @param string $langDir * @param string $langDir
* @throws \InvalidArgumentException * @throws emInvalidArgumentException
*/ */
public function __construct($data = array(), $fields = array(), $lang = null, $langDir = null) public function __construct($data = array(), $fields = array(), $lang = null, $langDir = null)
{ {
@ -495,14 +495,18 @@ class Validator
* @param mixed $value * @param mixed $value
* @return bool * @return bool
*/ */
protected function validateEmail($field, $value) protected function validateEmail($field, $value, $checkDomain = false)
{ {
$emailIsValid = false;
if (filter_var($value, \FILTER_VALIDATE_EMAIL) !== false) { if (filter_var($value, \FILTER_VALIDATE_EMAIL) !== false) {
$emailIsValid = true;
if ($checkDomain) {
$domain = idn_to_ascii(ltrim(stristr($value, '@'), '@'), 0, INTL_IDNA_VARIANT_UTS46) . '.'; $domain = idn_to_ascii(ltrim(stristr($value, '@'), '@'), 0, INTL_IDNA_VARIANT_UTS46) . '.';
if (checkdnsrr($domain, 'ANY')) {return true;} if (!checkdnsrr($domain, 'ANY')) {$emailIsValid = false;}
}
} }
return false; return $emailIsValid;
} }
/** /**