Heimdall/vendor/egulias/email-validator
2018-06-13 19:35:28 +01:00
..
EmailValidator Dependency updates and update version number 2018-06-13 19:35:28 +01:00
composer.json Dependency updates and update version number 2018-06-13 19:35:28 +01:00
LICENSE Add vendor and .env to make usable 2018-02-01 20:01:12 +00:00
phpunit.xml.dist Add vendor and .env to make usable 2018-02-01 20:01:12 +00:00
README.md Dependency updates and update version number 2018-06-13 19:35:28 +01:00

EmailValidator

Build Status Coverage Status Scrutinizer Code Quality SensioLabsInsight

With the help of PHPStorm

Requirements

Installation

Run the command below to install via Composer

composer require egulias/email-validator "~2.1"

Getting Started

EmailValidatorrequires you to decide which (or combination of them) validation/s strategy/ies you'd like to follow for each validation.

A basic example with the RFC validation

<?php

use Egulias\EmailValidator\EmailValidator;
use Egulias\EmailValidator\Validation\RFCValidation;

$validator = new EmailValidator();
$validator->isValid("example@example.com", new RFCValidation()); //true

Available validations

  1. RFCValidation
  2. NoRFCWarningsValidation
  3. DNSCheckValidation
  4. SpoofCheckValidation
  5. MultipleValidationWithAnd
  6. Your own validation

MultipleValidationWithAnd

It is a validation that operates over other validations performing a logical and (&&) over the result of each validation.

<?php

use Egulias\EmailValidator\EmailValidator;
use Egulias\EmailValidator\Validation\DNSCheckValidation;
use Egulias\EmailValidator\Validation\MultipleValidationWithAnd;
use Egulias\EmailValidator\Validation\RFCValidation;

$validator = new EmailValidator();
$multipleValidations = new MultipleValidationWithAnd([
    new RFCValidation(),
    new DNSCheckValidation()
]);
$validator->isValid("example@example.com", $multipleValidations); //true

How to extend

It's easy! You just need to implement EmailValidation and you can use your own validation.

Other Contributors

(You can find current contributors here)

As this is a port from another library and work, here are other people related to the previous one:

  • Ricard Clau @ricardclau: Performance against PHP built-in filter_var
  • Josepf Bielawski @stloyd: For its first re-work of Dominic's lib
  • Dominic Sayers @dominicsayers: The original isemail function

License

Released under the MIT License attached with this code.