annotate vendor/egulias/email-validator/EmailValidator/EmailValidator.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents
children
rev   line source
Chris@5 1 <?php
Chris@5 2
Chris@5 3 namespace Egulias\EmailValidator;
Chris@5 4
Chris@5 5 use Egulias\EmailValidator\Exception\InvalidEmail;
Chris@5 6 use Egulias\EmailValidator\Validation\EmailValidation;
Chris@5 7
Chris@5 8 class EmailValidator
Chris@5 9 {
Chris@5 10 /**
Chris@5 11 * @var EmailLexer
Chris@5 12 */
Chris@5 13 private $lexer;
Chris@5 14
Chris@5 15 /**
Chris@5 16 * @var array
Chris@5 17 */
Chris@5 18 protected $warnings;
Chris@5 19
Chris@5 20 /**
Chris@5 21 * @var InvalidEmail
Chris@5 22 */
Chris@5 23 protected $error;
Chris@5 24
Chris@5 25 public function __construct()
Chris@5 26 {
Chris@5 27 $this->lexer = new EmailLexer();
Chris@5 28 }
Chris@5 29
Chris@5 30 /**
Chris@5 31 * @param $email
Chris@5 32 * @param EmailValidation $emailValidation
Chris@5 33 * @return bool
Chris@5 34 */
Chris@5 35 public function isValid($email, EmailValidation $emailValidation)
Chris@5 36 {
Chris@5 37 $isValid = $emailValidation->isValid($email, $this->lexer);
Chris@5 38 $this->warnings = $emailValidation->getWarnings();
Chris@5 39 $this->error = $emailValidation->getError();
Chris@5 40
Chris@5 41 return $isValid;
Chris@5 42 }
Chris@5 43
Chris@5 44 /**
Chris@5 45 * @return boolean
Chris@5 46 */
Chris@5 47 public function hasWarnings()
Chris@5 48 {
Chris@5 49 return !empty($this->warnings);
Chris@5 50 }
Chris@5 51
Chris@5 52 /**
Chris@5 53 * @return array
Chris@5 54 */
Chris@5 55 public function getWarnings()
Chris@5 56 {
Chris@5 57 return $this->warnings;
Chris@5 58 }
Chris@5 59
Chris@5 60 /**
Chris@5 61 * @return InvalidEmail
Chris@5 62 */
Chris@5 63 public function getError()
Chris@5 64 {
Chris@5 65 return $this->error;
Chris@5 66 }
Chris@5 67 }