Laravel重定向,验证时出错

时间:2019-12-18 19:46:38

标签: ajax laravel validation laravel-validation

我真的需要你的帮助!

我有一个带有多个导航选项卡的Web应用程序,其内容由属性“ data-url”加载。我需要这样做是因为我在每个选项卡中都显示了大量数据,并且即使不显示每个选项卡,也不想对每个选项卡进行查询。 因此,仅在显示选项卡时才加载内容。 在每个选项卡中,根据用户角色,我加载请求的数据,一条消息,提示您看不到该数据,一条消息,指出未添加该数据,或一个打开模式以插入该数据的按钮。 / p>

例如:

<li class="nav-item" data-url="/{{$document->progressive_number}}/getInfo" data-id="document_info">
        <a class="nav-link" data-toggle="tab" href="#document_info">Document info</a>
</li>


<div id="document_info" class="container tab-pane fade"><br>
  <div class="card datacard" style="justify-content:center">
    @include('loading_boxes')
    <h4>Loading...</h4>
  </div>
</div>

<script>

$("div#tabs").on("click", "li", function() {
    $("div#" + $(this).data("id")).load($(this).data("url"));
});
</script>

我的路线是这样的:

Route::get('/{document}/getInfo', 'DocumentController@getInfo')->middleware('auth');

控制器的作用:

public function getInfo(Request $request)
    {
        if(! Auth::user()->hasPermission('view-info'))
        {
            return view('generalerror', ['name'  => 'Info' , 'error' => "You can't view this data"]);
        }

        $document = Document::find(request('document'));
        $info = $document ->info ;
        if($info)
        {
            return view('document/info', ['info' =>$info]);
        }
        else
        {
            if(Auth::user()->hasPermission('store-info'))
            {
                return view('store_info_modal', ['Document' =>$document]);
            }
            return view('generalerror', ['name'  => 'Info' , 'error' => "This data has not been added yet"]);
        }
    }

当我打开模态并发送表格时,我在控制器中调用此函数:

public function storeInfo(StoreInfoRequest $request)
{   
  DocumentInfo::create([
  'info' => request('info'),
  'document' => request('document'),
  'user_id' => Auth::user()->id
  ]);
  return redirect()->back();
}

现在问题是: 如您所见,我正在使用自定义请求类,它可以正常工作。无论如何,如果验证器失败,则会在主页上重定向用户。当我导航到“信息”选项卡并重新打开模态时,单击按钮,由于我的模态是从控制器中加载的,因此错误信息不会显示在表单中。

您是否建议采用其他实现方式,或者您对我的问题有任何解决方案? 提前致谢。 干杯!

0 个答案:

没有答案