Laravel - Validator double - ERR_TOO_MANY_REDIRECTS

时间:2016-12-14 15:32:26

标签: php laravel validation laravel-5.1

您有超过1份付款程序表格

此处我的付款步骤

步骤1 - 表格输入数据;
第2步 - Step 1的验证数据;
第3步 - 输入其他数据表;
第4步 - Step 2;

的验证数据

在第二次验证中,如果验证器失败,我返回...

return redirect()->back()->withErrors($validator)->withInput();

问题是,如果第二次验证失败,它会在浏览器中给出这个错误

  

ERR_TOO_MANY_REDIRECTS


我认为应该是因为它将() - > back()重定向到前一个Step 1,然后重定向到前一个验证器......然后进入循环。

现在我已经解决了返回查看

的问题
return View('staff.cedola', $data)->withErrors($validator);

这是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

在你的中间件或construct()方法中,你需要检查URL是否是页面。如果是当前页面,则需要跳过重定向。

下面是一个例子,我希望你能得到这个想法。

//if under verificated page no need check to avoid keep redirect
if (!request()->is('member/verified-profile'))
{
    //check Member Porfile Verification
    $this->beforeFilter('@checkUserProfileVerification');
    if (!request()->is('member/verified-mobile'))
    {
        //check Member Mobile Verification
        $this->beforeFilter('@checkUserMobileVerification');
    }
}