📅  最后修改于: 2023-12-03 15:32:37.134000             🧑  作者: Mango
在Laravel应用程序中,有时我们需要在重新加载视图时保留先前提交的表单数据。为此,我们可以使用Request::old()
函数来检索上一个请求中的输入数据。
要使用 Request::old()
函数,我们需要首先确保 $errors
变量不为空。这通常是通过在验证表单数据时自动发送错误消息实现的。
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required|max:255',
'email' => 'required|email',
]);
// 保存数据并重定向到下一页
return redirect('next/page');
}
在这个例子中,如果 $request
中提交的数据不符合验证规则,则会在$errors
变量中发现错误消息。我们可以像下面这样在重定向后返回相同的视图,并通过调用 Request::old()
函数来显示之前提交的字段值:
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required|max:255',
'email' => 'required|email',
]);
// 保存数据并重定向到下一页
return redirect('next/page')->withInput();
}
public function showForm(Request $request)
{
// 显示包含先前提交数据的视图
return view('form')->with('errors', $request->session()->get('errors', new MessageBag))
->withInput($request->session()->getInput());
}
在这个例子中,使用 withInput()
函数将先前提交的字段添加到闪存中。然后,在显示表单的视图时,我们使用 withInput()
函数调用 Request::old()
函数来显示之前提交的数据。
使用 Request::old()
函数可以很容易地在 Laravel 应用程序中检索上一个请求中的输入数据,并将其返回到视图中。这对于在表单提交失败时重新加载视图时很有用。