如何验证Laravel 5.4中的电子邮件列表
我有一个从客户端发送的电子邮件列表,用逗号分隔。我如何验证所有这些电子邮件以确保它们是有效的电子邮件?e、 g用户可以在这样的文本框中捕获电子邮件one@one.com, two@two.com,three@three.cometc通过使用客户验证功能,我在某个时候构建了类似的功能如何验证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
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目录中实现此功能。默认情况下,还有其他提供程序文件,如身份验证、应用程序、服务、事件等,因此您可以创建一个用于验证的文件-至少我把我的文件放在了那里!对此投了反对票,因为它没有回答眼前的问题,尽管它可能在其他领域提供有用的功能