文件数据 / laravel-email-validator
一个比Laravel默认提供的更全面的电子邮件验证规则。
v3.0.0
2022-10-18 08:25 UTC
Requires
- egulias/email-validator: ^2.1 || ^3.0
- laravel/framework: ^6.0 || ^7.0 || ^8.0 || ^9.0
- mika56/spfcheck: ^1.1 || ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.8
- phpspec/phpspec: ~4.0
- phpunit/phpunit: ^8.0
- squizlabs/php_codesniffer: ^3.1
README
一个比Laravel默认提供的更全面的电子邮件验证规则。
Laravel 电子邮件验证器
Laravel 电子邮件验证器通过扩展Laravel验证器并添加validate_email
规则。
如何安装它?
最简单的方法是使用Composer。
要安装Laravel 电子邮件验证器的最新版本,请运行以下命令
composer require dossierdata/laravel-email-validator
然后在config/app.php
中注册服务提供者
'providers' => [
...
Dossierdata\LaravelEmailValidator\ServiceProvider::class,
Dossierdata\LaravelEmailValidator\BootServiceProvider::class,
],
需求
- Laravel 5.0及以上
如何使用它?
目前有四种不同的规则可供选择
rfc
- 验证提供的值是否符合RFC 5321和RFC 5322rfc_no_warning
- 与前面的规则相同,但会在警告时失败spf:127.0.0.1
- 验证电子邮件的域名是否有正确的SPF记录,并且提供的IP地址/范围是否被授权用于该域名dns
- 通过检查MX或DSN记录来验证电子邮件的域名实际上是否存在
将其用作验证器的规则
<?php // Rule without parameters will default to only checking RFC $validator = \Validator::make([ 'email' => '.incorrect@email.nodomain' ], [ 'email' => 'validate_email', ]); if ($validator->fails()) { dump($validator->errors()); } // Rule with parameters $validator = \Validator::make([ 'email' => '.incorrect@email.nodomain' ], [ 'email' => 'validate_email:rfc,spf:127.0.0.1,dns', ]); if ($validator->fails()) { dump($validator->errors()); }
通过依赖注入使用
<?php $rules = [ 'rfc', 'spf:127.0.0.1', 'dns' ]; $emailValidator = app(\Dossierdata\LaravelEmailValidator\Contracts\EmailValidator::class); if (!$emailValidator->validateValue('.incorrect@email.nodomain', $rules)) { dump($emailValidator->errors()); }
贡献
请参阅此项目的贡献指南。
许可证
dossierdata/laravel-email-validator是开源软件,许可协议为MIT许可证。