-
-
Notifications
You must be signed in to change notification settings - Fork 213
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added EmailValidatorInterface (#120)
- Loading branch information
1 parent
cbfe3ee
commit b8bb147
Showing
2 changed files
with
69 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,7 +7,7 @@ | |
* | ||
* @author Eduardo Gulias Davis <[email protected]> | ||
*/ | ||
class EmailValidator | ||
class EmailValidator implements EmailValidatorInterface | ||
{ | ||
/** | ||
* Critical validation errors used to indicate that | ||
|
@@ -113,26 +113,7 @@ public function __construct() | |
} | ||
|
||
/** | ||
* Validates an email address against the following standards: | ||
* | ||
* RFC-5321: Simple Mail Transfer Protocol | ||
* RFC-5322: Internet Message Format | ||
* RFC-6530: Overview and Framework for Internationalized Email | ||
* RFC-6531: SMTP Extension for Internationalized Email | ||
* RFC-6532: Internationalized Email Headers | ||
* RFC-1123 section 2.1: Requirements for Internet Hosts -- Application and Support | ||
* RFC-4291 section 2.2: IP Version 6 Addressing Architecture | ||
* | ||
* @param string $email The email address to validate. | ||
* @param bool $checkDNS Whether or not the email address's hostname should | ||
* be confirmed with a DNS lookup. This only comes | ||
* into play if strict mode is also enabled. | ||
* @param bool $strict If this is true, and any informational warnings | ||
* were raised during validation, the email address | ||
* will be considered invalid. Additionally, if | ||
* $checkDNS is true and the DNS lookup failed, | ||
* the email address will be considered invalid. | ||
* @return bool | ||
* {@inheritdoc} | ||
*/ | ||
public function isValid($email, $checkDNS = false, $strict = false) | ||
{ | ||
|
@@ -156,33 +137,31 @@ public function isValid($email, $checkDNS = false, $strict = false) | |
} | ||
|
||
/** | ||
* @return boolean | ||
* {@inheritdoc} | ||
*/ | ||
public function hasWarnings() | ||
{ | ||
return !empty($this->warnings); | ||
} | ||
|
||
/** | ||
* @return array | ||
* {@inheritdoc} | ||
*/ | ||
public function getWarnings() | ||
{ | ||
return $this->warnings; | ||
} | ||
|
||
/** | ||
* @return string | ||
* {@inheritdoc} | ||
*/ | ||
public function getError() | ||
{ | ||
return $this->error; | ||
} | ||
|
||
/** | ||
* @param int $threshold | ||
* | ||
* @return EmailValidator | ||
* {@inheritdoc} | ||
*/ | ||
public function setThreshold($threshold) | ||
{ | ||
|
@@ -192,7 +171,7 @@ public function setThreshold($threshold) | |
} | ||
|
||
/** | ||
* @return int | ||
* {@inheritdoc} | ||
*/ | ||
public function getThreshold() | ||
{ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
<?php | ||
|
||
namespace Egulias\EmailValidator; | ||
|
||
/** | ||
* EmailValidatorInterface | ||
* | ||
* @author Chris McCafferty <[email protected]> | ||
*/ | ||
interface EmailValidatorInterface | ||
{ | ||
/** | ||
* Validates an email address against the following standards: | ||
* | ||
* RFC-5321: Simple Mail Transfer Protocol | ||
* RFC-5322: Internet Message Format | ||
* RFC-6530: Overview and Framework for Internationalized Email | ||
* RFC-6531: SMTP Extension for Internationalized Email | ||
* RFC-6532: Internationalized Email Headers | ||
* RFC-1123 section 2.1: Requirements for Internet Hosts -- Application and Support | ||
* RFC-4291 section 2.2: IP Version 6 Addressing Architecture | ||
* | ||
* @param string $email The email address to validate. | ||
* @param bool $checkDNS Whether or not the email address's hostname should | ||
* be confirmed with a DNS lookup. This only comes | ||
* into play if strict mode is also enabled. | ||
* @param bool $strict If this is true, and any informational warnings | ||
* were raised during validation, the email address | ||
* will be considered invalid. Additionally, if | ||
* $checkDNS is true and the DNS lookup failed, | ||
* the email address will be considered invalid. | ||
* @return bool | ||
*/ | ||
public function isValid($email, $checkDNS = false, $strict = false); | ||
|
||
/** | ||
* @return bool | ||
*/ | ||
public function hasWarnings(); | ||
|
||
/** | ||
* @return array | ||
*/ | ||
public function getWarnings(); | ||
|
||
/** | ||
* @return string | ||
*/ | ||
public function getError(); | ||
|
||
/** | ||
* @param int $threshold The acceptable number of deprecation warnings. | ||
* | ||
* @return EmailValidator | ||
*/ | ||
public function setThreshold($threshold); | ||
|
||
/** | ||
* @return int | ||
*/ | ||
public function getThreshold(); | ||
} |