我正在使用Cartalyst哨兵,并且正在通过验证来验证用户,但是我找不到我做错了的问题:
我的控制器:
public function postRegister(Request $request)
{
$fieldsValidation = [
'email' => 'required|unique:users,email',
'first_name' => 'required',
'last_name' => 'required',
'password' => 'required',
];
$user = Sentinel::register($fieldsValidation);
$activation = Activation::create($user);
$this->sendEmail($user, $activation->code);
return redirect()->back()->with([
'success' => 'user registered successfully'
]);
}
当我执行动作时,我得到了错误
Swift_RfcComplianceException给定邮箱中的地址 [required | unique:users,email]不符合RFC 2822,3.6.2。
我想通过唯一的电子邮件和其他字段验证来验证用户: 非常感谢您的帮助!
答案 0 :(得分:0)
尽管您现在可能已经解决了这个问题,但我仍然认为以后可能会对某人有所帮助
$v = \Validator::make($request->all(), $fieldsValidation);
if ($v->fails())
{
//Validation failed
}else{
//Code to create user
}
这样您可以管理只有唯一身份的用户才能注册
对于无效的邮件异常错误,您必须在app / config文件下的mail.php文件中提供电子邮件规范,laravel将从那里获取它。或者您可以在env中指定它,然后在其中使用
MAIL_DRIVER=smtp
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=
MAIL_ADMIN=
MAIL_SIGNATURE =
MAIL_FROM_NAME=
因此,请检查您的配置是否正确。而且你很好走
希望这会有所帮助。