php - 如何在 laravel 验证中验证多个电子邮件?

标签 php validation email laravel laravel-validation

我已经在 laravel 中完成了变量验证的所有工作,但对于电子邮件,我遇到了一个简单的问题。

来自 Laravel 的文档,

'email' => 'required|email'

我知道这只适用于一个电子邮件地址,但对于类似的,

email=abc@xyz.com,xyz@abc.com, def@ghi,com

当我发送电子邮件数组时,我仍然收到电子邮件不是有效电子邮件。 我做了更多的事情,

'email' => 'required|email|array'

但是我还是报错了。任何机构都可以提供帮助。

谢谢,

最佳答案

您需要编写自定义验证程序,它将获取数组并手动验证数组中的每个电子邮件。在 Laravel 5 Request 中你可以做类似的事情

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

public function rules() {
    return [
        'email' => 'required|emails'
    ];
}

关于php - 如何在 laravel 验证中验证多个电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29454798/

相关文章:

php - 在新窗口中打开 index.php?id=2

javascript - 使用 CSS 和 Javascript 创建图像/网格解决方案

validation - 为什么模型验证不起作用

ruby-on-rails - 如何使用 Mandrill 发送和接收邮件?

java - 如何解决异常 "java.lang.NoClassDefFoundError: com/sun/mail/util/MailLogger"。我正在尝试通过 selenium webdriver 发送电子邮件

php - CSRF 保护 : Hashed PHPSESSID enough?

php - 使用 MySQL 或 ElasticSearch 进行搜索

基于Class的jQuery自定义验证

javascript - 空数据单元格验证

c# - 我应该在哪里存储在批处理运行结束时发出的电子邮件的电子邮件模板?