Laravel重新提交表单验证仍然显示旧的输入值

时间:2017-09-04 08:33:35

标签: php laravel laravel-5

在重新提交表单后进行验证后,数据将保存到数据库,但旧表单数据不会被清除

我用它进行验证:

$this->validate($request, [
    'branch' => 'required|not_in:---Select Branch---',
    'dep' => 'required|not_in:--- Select Department ---',
    'txt_username' => 'required|min:5|max:20',            
]);

插入数据库后,我重定向到路由:

return redirect()->route('newrec');

验证时,我使用此代码记住我刚刚提出的旧数据:

value="{{ old('txt_username')}}"

如果我填写表单,我会通过清除所有旧数据重定向到路由newrec,如果我没有填写表单并且验证失败,它将显示我刚刚放置的旧文本。如果我在验证失败后完成并重新提交表单,我将重定向到newrec路由,但它仍然显示我刚刚放置的旧值,而数据则保存到数据库中。如何在重新提交表单后清除它。

1 个答案:

答案 0 :(得分:0)

   $validator = Validator::make($request->all(), [
        'name' => 'required|min:3',
        'email' => 'required|email|unique:users,email',
        'role' => 'required'
    ]);

    if ($validator->fails()) {
        return back()->withErrors($validator)
                    ->withInput();
    }

    User::create([
        'name' => $request->name,
        'email' => $request->email,
        'password' => bcrypt("123456"),
        'role' => $request->role
    ]);

    return back()->with('success', 'Successfully saved');

这就是我解决问题的方式