我不知道如何为电子邮件字段制作验证规则,不接受像Gmail,雅虎等电子邮件免费帐户。 任何人都可以指导我这个主题。提前致谢
答案 0 :(得分:4)
将电子邮件提供商列表放入配置文件中,例如放入config/email.php
:
'banned_email_providers' => '@gmail\.com|@yahoo\.com'
然后使用此列表使用regex
验证规则:
'email' => ['regex:/^((?!' . config('email.banned_email_providers') . ').)*$/'],
答案 1 :(得分:0)
您可以存储邮件站点的名称并查看其值为
的电子邮件Users
答案 2 :(得分:0)
将此条目添加到\ config \ mail.php
'banned_servers' => ['yahoo.com', 'gmail.com']
然后
$rules = [
'email' => array('regex:/@(?!' . implode('|', array_map(function ($item){return str_replace('.', '\.', $item);}, config('mail.banned_servers'))) . ')/')
];
$messages = ['email.regex' => 'Email accounts from '. implode(', ', config('mail.banned_servers')) . ' are not allowed'];
$this->validate(Request::instance(), $rules, $messages);