inc*_*eal 3 email laravel laravel-5.3
我想接受一个服务器上的邮件ID,当有人注册时,请说'@ myemail.com'.如果给出任何其他邮件地址,它将说明您的邮件ID无效.我该怎么办??
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
/*'usertype' => 'required',*/
]);
}
Run Code Online (Sandbox Code Playgroud)
它是我的注册控制器的验证器
自 laravel 5.8.17 起 ends_with添加了验证规则,如下所示:
$rules = [
'email' => 'required|ends_with:laravel.com,jasonmccreary.me,gmail.com',
];
Run Code Online (Sandbox Code Playgroud)
你可以使用正则表达式模式.将此附加到您的电子邮件验证:
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|regex:/(.*)@myemail\.com/i|unique:users',
'password' => 'required|min:6|confirmed',
/*'usertype' => 'required',*/
]);
}
Run Code Online (Sandbox Code Playgroud)
编辑
对于多个域,您必须使用带有验证的数组,因为两个邮件域之间存在管道:
'email' => ['required', 'max:255', 'email', 'regex:/(.*)@(mrbglobalbd|millwardbrown)\.com/i', 'unique:users'],
Run Code Online (Sandbox Code Playgroud)
注意:使用正则表达式模式时,可能需要在数组中指定规则而不是使用管道分隔符,尤其是在正则表达式包含管道符时.