Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何验证Laravel 5.4中的电子邮件列表_Laravel_Validation - Fatal编程技术网

如何验证Laravel 5.4中的电子邮件列表

如何验证Laravel 5.4中的电子邮件列表,laravel,validation,Laravel,Validation,我有一个从客户端发送的电子邮件列表,用逗号分隔。我如何验证所有这些电子邮件以确保它们是有效的电子邮件?e、 g用户可以在这样的文本框中捕获电子邮件one@one.com, two@two.com,three@three.cometc通过使用客户验证功能,我在某个时候构建了类似的功能 Validator::extend("emails", function($attribute, $value, $parameters) { $rules = ['email' => 'req

我有一个从客户端发送的电子邮件列表,用逗号分隔。我如何验证所有这些电子邮件以确保它们是有效的电子邮件?e、 g用户可以在这样的文本框中捕获电子邮件one@one.com, two@two.com,three@three.cometc

通过使用客户验证功能,我在某个时候构建了类似的功能

Validator::extend("emails", function($attribute, $value, $parameters) {
        $rules = ['email' => 'required|email'];
        $emails = array_map('trim', explode(';', $value)); //$value
        foreach ($emails as $email) {
            $data = ['email' => $email];
            $validator = Validator::make($data, $rules);
            if ($validator->fails()) {
                return false;
            }
        }
        return true;
    });

如果您正在寻找如何验证电子邮件,以检查它们是否有效和真实的电子邮件,您只需使用SMTP服务器即可。有一个免费的github项目供您使用:

如果您通读自述文件,该包将为您提供自定义验证规则

编辑:我很抱歉,如果这是离题,因为问题是关于验证电子邮件列表。但是,如果要使用SMTP服务器测试电子邮件,可以使用此软件包


希望这有帮助。

如果您试图验证一系列电子邮件,那么最简单的验证方法是使用点
语法和通配符
*
。下面是一个例子:

$request->validate([
    'emails.*' => ['email'],
    ...
]);

我在哪里实现此功能?您必须在App/Providers目录中实现此功能。默认情况下,还有其他提供程序文件,如身份验证、应用程序、服务、事件等,因此您可以创建一个用于验证的文件-至少我把我的文件放在了那里!对此投了反对票,因为它没有回答眼前的问题,尽管它可能在其他领域提供有用的功能