annotate vendor/egulias/email-validator/README.md @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents c75dbcec494b
children
rev   line source
Chris@5 1 # EmailValidator
Chris@0 2 [![Build Status](https://travis-ci.org/egulias/EmailValidator.png?branch=master)](https://travis-ci.org/egulias/EmailValidator) [![Coverage Status](https://coveralls.io/repos/egulias/EmailValidator/badge.png?branch=master)](https://coveralls.io/r/egulias/EmailValidator?branch=master) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/egulias/EmailValidator/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/egulias/EmailValidator/?branch=master) [![SensioLabsInsight](https://insight.sensiolabs.com/projects/22ba6692-9c02-42e5-a65d-1c5696bfffc6/small.png)](https://insight.sensiolabs.com/projects/22ba6692-9c02-42e5-a65d-1c5696bfffc6)
Chris@0 3 =============================
Chris@5 4 ## Suported RFCs ##
Chris@5 5 This library aims to support:
Chris@0 6
Chris@5 7 RFC 5321, 5322, 6530, 6531, 6532.
Chris@5 8
Chris@5 9 ## Requirements ##
Chris@5 10
Chris@5 11 * [Composer](https://getcomposer.org) is required for installation
Chris@5 12 * [Spoofchecking](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/SpoofCheckValidation.php) and [DNSCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/DNSCheckValidation.php) validation requires that your PHP system has the [PHP Internationalization Libraries](https://php.net/manual/en/book.intl.php) (also known as PHP Intl)
Chris@5 13
Chris@5 14 ## Installation ##
Chris@0 15
Chris@0 16 Run the command below to install via Composer
Chris@0 17
Chris@0 18 ```shell
Chris@5 19 composer require egulias/email-validator "~2.1"
Chris@0 20 ```
Chris@0 21
Chris@5 22 ## Getting Started ##
Chris@5 23 `EmailValidator`requires you to decide which (or combination of them) validation/s strategy/ies you'd like to follow for each [validation](#available-validations).
Chris@0 24
Chris@5 25 A basic example with the RFC validation
Chris@5 26 ```php
Chris@5 27 <?php
Chris@5 28
Chris@5 29 use Egulias\EmailValidator\EmailValidator;
Chris@5 30 use Egulias\EmailValidator\Validation\RFCValidation;
Chris@5 31
Chris@5 32 $validator = new EmailValidator();
Chris@5 33 $validator->isValid("example@example.com", new RFCValidation()); //true
Chris@5 34 ```
Chris@5 35
Chris@5 36
Chris@5 37 ### Available validations ###
Chris@5 38
Chris@5 39 1. [RFCValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/RFCValidation.php)
Chris@5 40 2. [NoRFCWarningsValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/NoRFCWarningsValidation.php)
Chris@5 41 3. [DNSCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/DNSCheckValidation.php)
Chris@5 42 4. [SpoofCheckValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/SpoofCheckValidation.php)
Chris@5 43 5. [MultipleValidationWithAnd](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/MultipleValidationWithAnd.php)
Chris@5 44 6. [Your own validation](#how-to-extend)
Chris@5 45
Chris@5 46 `MultipleValidationWithAnd`
Chris@5 47
Chris@5 48 It is a validation that operates over other validations performing a logical and (&&) over the result of each validation.
Chris@0 49
Chris@0 50 ```php
Chris@0 51 <?php
Chris@0 52
Chris@0 53 use Egulias\EmailValidator\EmailValidator;
Chris@5 54 use Egulias\EmailValidator\Validation\DNSCheckValidation;
Chris@5 55 use Egulias\EmailValidator\Validation\MultipleValidationWithAnd;
Chris@5 56 use Egulias\EmailValidator\Validation\RFCValidation;
Chris@0 57
Chris@5 58 $validator = new EmailValidator();
Chris@5 59 $multipleValidations = new MultipleValidationWithAnd([
Chris@5 60 new RFCValidation(),
Chris@5 61 new DNSCheckValidation()
Chris@5 62 ]);
Chris@5 63 $validator->isValid("example@example.com", $multipleValidations); //true
Chris@0 64 ```
Chris@0 65
Chris@5 66 ### How to extend ###
Chris@0 67
Chris@5 68 It's easy! You just need to implement [EmailValidation](https://github.com/egulias/EmailValidator/blob/master/EmailValidator/Validation/EmailValidation.php) and you can use your own validation.
Chris@0 69
Chris@0 70
Chris@5 71 ## Other Contributors ##
Chris@5 72 (You can find current contributors [here](https://github.com/egulias/EmailValidator/graphs/contributors))
Chris@0 73
Chris@5 74 As this is a port from another library and work, here are other people related to the previous one:
Chris@0 75
Chris@5 76 * Ricard Clau [@ricardclau](https://github.com/ricardclau): Performance against PHP built-in filter_var
Chris@5 77 * Josepf Bielawski [@stloyd](https://github.com/stloyd): For its first re-work of Dominic's lib
Chris@5 78 * Dominic Sayers [@dominicsayers](https://github.com/dominicsayers): The original isemail function
Chris@0 79
Chris@5 80 ## License ##
Chris@0 81 Released under the MIT License attached with this code.
Chris@0 82