📅  最后修改于: 2023-12-03 15:17:13.802000             🧑  作者: Mango
在 Laravel 中,我们可以使用 old
函数来保留之前表单提交时的输入值,并在表单验证失败后自动回显。
old($key, $default = null)
其中,$key
表示字段名称,$default
表示默认值。如果 $key
对应的输入值不存在,则返回默认值。
在表单提交时,我们通常会在控制器中执行表单验证。如果验证失败,我们可以使用 old
函数来保存之前输入的值,并将其传递到视图中以便回显。
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:8|confirmed',
]);
// Store user to database...
return redirect('/')->with('success', 'User created successfully.');
}
在上面的代码中,如果验证失败,则可以使用 old
函数来获取之前输入的值:
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:8|confirmed',
]);
// Store user to database...
return redirect('/')
->with('success', 'User created successfully.')
->withInput();
}
在 withInput
方法中,将会保存之前输入的值,以便在视图中回显:
<input type="text" name="name" value="{{ old('name') }}">
<input type="email" name="email" value="{{ old('email') }}">
<input type="password" name="password" value="{{ old('password') }}">
如果表单提交失败,我们可以在视图中使用 old
函数来回显之前输入的值。例如,为了回显输入的用户名,我们可以这样写:
<input type="text" name="name" value="{{ old('name') }}">
old
函数是 Laravel 提供的便捷的输入值回显方式。使用它,我们可以保留之前输入的值,以便在表单验证失败后自动回显。在控制器中使用 withInput
方法,可以将之前输入的值保存到重定向中,以便在视图中回显。