Swift_RfcComplianceException给出的[required | unique:users,email]邮箱中的地址不符合RFC 2822,3.6.2

时间:2018-07-10 10:02:10

标签: php laravel validation sentinel

我正在使用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。

我想通过唯一的电子邮件和其他字段验证来验证用户: 非常感谢您的帮助!

1 个答案:

答案 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=

因此,请检查您的配置是否正确。而且你很好走

希望这会有所帮助。