Laravel-信息包不可见



我使用的是Laravel 7.0。

在我的app/Exceptions/Handler.php方法中;渲染";。我需要为";PostTooLargeException";。

若请求是否来自ajax,则响应会有所不同。

问题是如果请求不是ajax。我试图返回一些错误消息,但任何我想在函数"中返回的内容;with((";或";with Errors(("它不存在于刀刃视图中。

出了什么问题,为什么会发生?

我的代码:

if ($exception instanceof PostTooLargeException) {
if ($request->ajax()) {
return response(['message' => "The file you are trying to send is too large "], 422);
} {
$errors = new MessageBag();
$errors->add('error', 'test');
return Redirect::back()->withErrors($errors);
}
}   

刀片:

@if($errors->any())
<div class="alert alert-danger">
<ul class="list-unstyled">
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif

如果没有MessageBag,您可以通过将数组传递给withErrors来实现这一点

return redirect()->back()->withErrors(['error' => "test"]);

最新更新