Php Laravel:在表单验证失败时重定向到其他url,而不是以前的url

Php Laravel:在表单验证失败时重定向到其他url,而不是以前的url,php,redirect,laravel,laravel-5,Php,Redirect,Laravel,Laravel 5,注意:我不想重定向到以前的url 我的注册表格是主页上的一个模式,在这里我将表格发布到auth/register,但当发生验证错误时,它会将我重定向回主页。我想重定向到另一个路由“auth/register”,其中将显示验证错误 我通过了AuthenticatesAndRegistersUsers、ValidateRequests和UrlGenerator。我发现它使用标题引用信息将我重定向回以前的url 有没有办法在AuthenticatesAndRegistersUserstraits,po

注意:我不想重定向到以前的url

我的注册表格是主页上的一个模式,在这里我将表格发布到auth/register,但当发生验证错误时,它会将我重定向回主页。我想重定向到另一个路由“auth/register”,其中将显示验证错误

我通过了AuthenticatesAndRegistersUsers、ValidateRequests和UrlGenerator。我发现它使用标题引用信息将我重定向回以前的url


有没有办法在AuthenticatesAndRegistersUserstraits,postRegister方法中设置,如果此方法发生验证错误,则将我重定向到此特定url而不是使用以前的url?

只需编写自己的
postRegister()
方法,并在其中执行您自己的验证和重定向。这就是它的设计方式-因此您可以重载任何要自定义的方法。

只需编写您自己的
postRegister()
方法,并在其中执行您自己的验证和重定向。这就是它的设计方式-因此您可以重载任何要自定义的方法。

我通过修改AuthenticateAndRegisterUsers.php文件解决了此问题,该文件位于:

\vendor\laravel\framework\src\illumb\Foundation\Auth\AuthenticatesAndRegistersUsers.php

我加了一行: 返回重定向('auth/register')->withErrors($validator)


我通过修改AuthenticateAndRegisterUsers.php文件解决了此问题,该文件位于:

\vendor\laravel\framework\src\illumb\Foundation\Auth\AuthenticatesAndRegistersUsers.php

我加了一行: 返回重定向('auth/register')->withErrors($validator)


谢谢你的建议。虽然不是我所期望的,但解决了我的问题。我希望laravel有一些神奇的功能来定制重定向url heheIf您使用FormRequest验证-laravel确实有神奇的功能来设置重定向url。但是它不在Auth部分的trait中。谢谢你的建议。虽然不是我所期望的,但解决了我的问题。我希望laravel有一些神奇的功能来定制重定向url heheIf您使用FormRequest验证-laravel确实有神奇的功能来设置重定向url。但是它不在Auth部分的trait中。虽然它不是标准的,我想你可以在某个地方覆盖postrester函数。我强烈建议你不要这样做。一旦您通过composer update或install更新laravel,这些文件/代码将被替换。我做了这种修复,所以我不推荐:)是的,但是如果你在AuthController中覆盖postRegister方法,那就不会有任何问题,除非他们在Lightning中更改postRegister方法。虽然这不是标准的,我想你可以在某处覆盖postRegister函数。我强烈建议你不要这样做。一旦您通过composer update或install更新laravel,这些文件/代码将被替换。我做了这种修复,所以我不推荐:)是的,但是如果你在AuthController中覆盖postRegister方法,那就不会有任何问题,除非他们在illumb中更改postRegister方法。
    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());
}