注意:我不要想要重定向到以前的网址。
我的注册表单是主页上的模式,我将表单发布到auth / register但是当验证错误发生时,它会将我重定向回主页。我想要重定向到另一个路由'auth / register',其中将显示验证错误。
我浏览了AuthenticatesAndRegistersUsers,ValidatesRequests,UrlGenerator。我发现它使用标题引用信息将我重定向回以前的URL。
我是否可以设置 AuthenticatesAndRegistersUsers 特征, postRegister 方法,如果验证错误发生在这个方法然后将我重定向到这个特定的网址,而不是使用以前的网址?
答案 0 :(得分:3)
只需编写自己的postRegister()
方法,然后在那里进行自己的验证和重定向。这就是它的设计方式 - 所以你重载任何你想要自定义的方法。
答案 1 :(得分:1)
我通过修改位于以下位置的AuthenticateAndRegisterUsers.php文件解决了这个问题:
\厂商\ laravel \框架\ SRC \照亮\基金会\验证\ AuthenticatesAndRegistersUsers.php
我添加了这一行: 返回重定向(' auth / register') - > withErrors($ validator);
public function postRegister(Request $request)
{
$validator = $this->registrar->validator($request->all());
if ($validator->fails())
{
/* $this->throwValidationException(
$request, $validator
); */
return redirect('auth/register')->withErrors($validator)->withInput();
}
$this->auth->login($this->registrar->create($request->all()));
return redirect($this->redirectPath());
}