Php 验证失败时,Laravel重定向到根url而不是上一个url

Php 验证失败时,Laravel重定向到根url而不是上一个url,php,laravel,Php,Laravel,我的Laravel应用程序有一个关键问题。当验证失败时,Laravel将请求重定向到根URL,而不是上一个URL。我尝试使用FormRequest,但仍然给出相同的结果 然后我用不同的路由检查了上一个URL(使用URL()->previous()方法),每次它返回根URL 这是会话配置文件。(据我所知,Laravel从会话中获取上一个URL) 我使用redis作为会话驱动程序,我已经使用redis作为缓存驱动程序,它工作正常 我正在挖掘我所做的更改,但仍然无法找出导致此类错误的原因 !!! 我解

我的Laravel应用程序有一个关键问题。当验证失败时,Laravel将请求重定向到根URL,而不是上一个URL。我尝试使用FormRequest,但仍然给出相同的结果

然后我用不同的路由检查了上一个URL(使用
URL()->previous()
方法),每次它返回根URL

这是会话配置文件。(据我所知,Laravel从会话中获取上一个URL)

我使用redis作为会话驱动程序,我已经使用redis作为缓存驱动程序,它工作正常

我正在挖掘我所做的更改,但仍然无法找出导致此类错误的原因

!!! 我解决了我的问题,meta Referer标签导致了这个问题


我删除了该行,它恢复正常。但我不认为这是一个好方法,当跨原点时,我使用
原点
选项

您可以使用Facades Validator-

使用Illumb\Support\Facades\Validator

    $change= [
               'code.required' => 'Code is required',
               'xyz.required' => 'Please enter xyz'
                ];

    $validator = Validator::make($request->all(), [
        'code' => 'required',
        'api_token' => 'required',

    ],$change);

 //if validation fails 
 if ($validator->fails()) {
      //redirect here
    }
 else{
      //code
     }
$validatior = Validator::make($request->all(), [
                'form_field_name1' => 'required',
                'form_field_name2' => 'required',
            ]);
if ($validatior->fails())
   {
     // return to previous url
     return redirect()->back()->withInput()->withErrors($validatior);
   }
else
  {
    // Do code here
  }

这有帮助吗?

您可以使用Facades Validator-

使用Illumb\Support\Facades\Validator

    $change= [
               'code.required' => 'Code is required',
               'xyz.required' => 'Please enter xyz'
                ];

    $validator = Validator::make($request->all(), [
        'code' => 'required',
        'api_token' => 'required',

    ],$change);

 //if validation fails 
 if ($validator->fails()) {
      //redirect here
    }
 else{
      //code
     }
$validatior = Validator::make($request->all(), [
                'form_field_name1' => 'required',
                'form_field_name2' => 'required',
            ]);
if ($validatior->fails())
   {
     // return to previous url
     return redirect()->back()->withInput()->withErrors($validatior);
   }
else
  {
    // Do code here
  }
这有帮助吗?

您可以使用验证器

使用验证器

    $change= [
               'code.required' => 'Code is required',
               'xyz.required' => 'Please enter xyz'
                ];

    $validator = Validator::make($request->all(), [
        'code' => 'required',
        'api_token' => 'required',

    ],$change);

 //if validation fails 
 if ($validator->fails()) {
      //redirect here
    }
 else{
      //code
     }
$validatior = Validator::make($request->all(), [
                'form_field_name1' => 'required',
                'form_field_name2' => 'required',
            ]);
if ($validatior->fails())
   {
     // return to previous url
     return redirect()->back()->withInput()->withErrors($validatior);
   }
else
  {
    // Do code here
  }
它工作正常。

您可以使用验证器

使用验证器

    $change= [
               'code.required' => 'Code is required',
               'xyz.required' => 'Please enter xyz'
                ];

    $validator = Validator::make($request->all(), [
        'code' => 'required',
        'api_token' => 'required',

    ],$change);

 //if validation fails 
 if ($validator->fails()) {
      //redirect here
    }
 else{
      //code
     }
$validatior = Validator::make($request->all(), [
                'form_field_name1' => 'required',
                'form_field_name2' => 'required',
            ]);
if ($validatior->fails())
   {
     // return to previous url
     return redirect()->back()->withInput()->withErrors($validatior);
   }
else
  {
    // Do code here
  }


它工作正常。

你说的是哪种验证?首先,它不是错误,其次,也许你有一个重定向,它会在会话中刷新上一个URL。如果你正在使用表单,那么它会自动直接重定向到你的表单。@BILALMALIK form validation你说的是哪个验证?首先,它不是一个错误,其次,可能您有一个重定向,在这两者之间刷新会话中的上一个URL。如果您正在使用表单,则它将自动直接重定向到您的表单。@BILALMALIK表单验证问题在重定向时发生。上一个url指向根url不是实际的上一个url我不明白你所说的“上一个url”是什么意思。。为什么它应该转到上一个url,如果它失败,那么它应该在同一个url上,不是吗,如果它失败时在不同的页面上重定向,为什么它不应该被重定向?。。。看着你,我相信你一定看到了你的.htaccess。。。对不起,如果我把你弄糊涂了,因为我自己在你的问题上被之前的url弄糊涂了,我是指http参考url。还有,它怎么可能在同一个url中?一个url用于显示html,另一个url用于存储输入@问题是,为什么真正的问题是referer看起来像根url。我找不到这背后的原因,我想如果没有代码,我们会说得非常抽象。。。。我们在redirect()函数之后讨论什么吗?重定向时会出现问题。上一个url指向根url不是实际的上一个url我不明白你所说的“上一个url”是什么意思。。为什么它应该转到上一个url,如果它失败,那么它应该在同一个url上,不是吗,如果它失败时在不同的页面上重定向,为什么它不应该被重定向?。。。看着你,我相信你一定看到了你的.htaccess。。。对不起,如果我把你弄糊涂了,因为我自己在你的问题上被之前的url弄糊涂了,我是指http参考url。还有,它怎么可能在同一个url中?一个url用于显示html,另一个url用于存储输入@问题是,为什么真正的问题是referer看起来像根url。我找不到这背后的原因,我想如果没有代码,我们会说得非常抽象。。。。在redirect()函数之后,我们在讨论什么吗?