首页 > 解决方案 > Laravel:如何使用 withError() 渲染视图?

问题描述

我是 Laravel 和 Blade 的新手,所以请放轻松...

我正在使用https://github.com/netojose/laravel-bootstrap-4-forms上的一个模块来生成bootstrap4表单,然后使用一个jQuery函数通过ajax请求发布表单。

然后验证输入,并将表单视图呈现并作为json数组的一部分返回。然后将 DOM 中的表单替换为新的html(我认为这会比处理 中的错误更好jQuery)。

这一直有效,直到用户输入出现错误。以下代码呈现表单,但withErrors()除非有重定向,否则似乎不起作用。

$formHtml = view('details-form')->with(['formData'=>$requestData])->withErrors($validator, 'detailsErrorBag')->render();

laravel-bootstrap-4-forms 要求错误位于 errorBag 中,并且不能以其他方式传递给视图。

作为一种解决方法,可以将 ajax 请求重定向到另一个呈现并返回表单 html(包括错误)的路由,但是在 ajax 请求之后进行 302 重定向似乎不是正确的做法。

有没有办法在同一请求的视图中填充errorBag/没有重定向?

标签: phplaravelsessionlaravel-bladesession-variables

解决方案


推荐阅读