Laravel 响应:跳回上一次的请求
在 Laravel 中,你可以使用 redirect()->back()
来实现跳回上一次的请求。这通常用在当表单提交失败或者有错误需要返回并显示给用户的时候。
例如,在一个控制器中,你可能有这样的方法来处理表单提交:
public function store(Request $request)
{
$validatedData = $request->validate([
'title' => 'required|max:255',
'body' => 'required',
]);
// 存储数据或执行其他逻辑
// ...
return redirect()->back()->with('status', 'The post has been added!');
}
如果表单提交失败,Laravel 会自动重定向回原页面,并且你可以使用 withErrors()
方法来传递错误信息:
public function store(Request $request)
{
$validatedData = $request->validate([
'title' => 'required|max:255',
'body' => 'required',
]);
// 如果有错误,这里的逻辑不会执行,Laravel 会重定向回原页面
// ...
return redirect()->back()->withErrors($validatedData);
}
在视图中,你可以检查是否有错误传递,并显示它们:
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
这样,当表单提交失败或者有错误发生时,用户会被重定向回原来的页面,并且可以看到错误信息。
评论已关闭