我想重定向以查看是否未达到某个条件。检查代码:
if($request->get('files') == 'yes' && $request->file('file_name') == null){
return Redirect::to('brief/'.$id."/edit")
->withErrors('errors',"Mention file")
->withInput();
}
它将数组打印为:
Illuminate\Support\ViewErrorBag {#239
#bags: array:1 [
"Mention file" => Illuminate\Support\MessageBag {#240
#messages: array:1 [
0 => array:1 [
0 => "errors"
]
]
#format: ":message"
}
]
在观看结束时我正在做:
@if (count($errors) > 0)
<div style="margin-top: 10%;" class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
不打印消息提及文件
答案 0 :(得分:1)
您使用->withErrors
传递字符串,或使用->with
传递一个包含键“错误”的数组:
if($request->get('files') == 'yes' && $request->file('file_name') == null){
return Redirect::to('brief/'.$id."/edit")
->withErrors("Mention file")
->withInput();
}
或
if($request->get('files') == 'yes' && $request->file('file_name') == null){
return Redirect::to('brief/'.$id."/edit")
->with(["errors" => "Mention file"])
->withInput();
}
答案 1 :(得分:0)
好的,我发现了这个问题。
来自文件:
您可以使用withErrors方法将错误消息刷新到 会话。使用此方法时,$ errors变量将 重定向后自动与您的视图共享,
所以->withErrors('errors',"Mention file")
实际上是将$errors
转换为一个搞乱的字符串。简单地->withErrors("Mention file")
只是在ErrorBag
中添加了消息。所以正确的代码应该是:
if($request->get('files') == 'yes' && $request->file('file_name') == null){
return Redirect::to('brief/'.$id."/edit")
->withErrors("Mention file")
->withInput();
}