square-bit/laravel-eva

Keep fake or disposable emails out. A validation rule for your forms.

1.1.1 2019-07-22 17:22 UTC

README

Laravel package for integration with e-va.io service. Provides a Rule to automatically validate form emails.

Install

composer require square-bit/laravel-eva

The package will automatically register its service provider.

To publish the default config at config/eva.php:

php artisan vendor:publish --provider="Squarebit\EVA\EVAServiceProvider" --tag="config"

Make sure you update the .env file with a valid API Key (generate one at e-va.io)

Variables Default value
EVA_APIKEY null
EVA_SERVICE_UNAVAILABLE true
EVA_UNKOWN false
EVA_INVALID false
EVA_RISKY false
EVA_SAFE true

Usage

You can now use EVA to validate any email provided by your users directly with the Laravel Validator.

Say you you're already validating an email on its basic properties

    return Validator::make($data, [
        [...]
        'email' => ['required', 'string', 'email', 'max:255'],
        [...]
    ]);

To get the registration email validated simply add the EVAValidate class to the list of rules:

use Squarebit\EVA\Rules\EVAValidated

[...]

    return Validator::make($data, [
        [...]
        'email' => [new EVAValidated, 'required', 'string', 'email', 'max:255', 'unique:users'],
        [...]
    ]);

That's it !