验证失败后,尝试在Laravel 5.5中返回输入

时间:2017-10-20 16:30:24

标签: php forms laravel validation laravel-5

当我使用我的代码在Laravel 5.5中验证失败时,我很难找到有关如何返回输入的文档。有人能告诉我如何在验证失败后返回输入吗?验证肯定是有效的。是否可以使用此验证方法返回输入,还是应该尝试其他方式?这是我的控制器:

public function submit()
{

        $this->validate(request(),[

            'first' => 'required|alpha',
            'last' => 'required|alpha',
            'credentials' => 'required|alpha',
            'specialty'=>'required|alpha',
            'email' => 'required|email',
            'pi' => 'required|alpha',
            'address1' => 'required|alpha',
            'address2' => 'required|alpha',
            'city' => 'required|alpha',
            'state'=>'required|alpha',
            'zip' => 'required|numeric',
            'phone' => 'required|alpha'

        ]);

        $data = request()->all();

        return view('hcp.forms.form-complete')->with('data', $data);
}

2 个答案:

答案 0 :(得分:3)

使用withInput()

return view('hcp.forms.form-complete')->with('data', $data)->withInput();

并在您的刀片中将username的旧输入显示为old('username')

<input type="text" name="username" value="{{ old('username') }}">

答案 1 :(得分:0)

为什么不在请求对象上调用validate方法?您只需要在控制器的方法中注入Request对象。

public function submit(Request $request)
{
    $request->validate([
        'first' => 'required|alpha',
        'last' => 'required|alpha',
        'credentials' => 'required|alpha',
        'specialty'=>'required|alpha',
        'email' => 'required|email',
        'pi' => 'required|alpha',
        'address1' => 'required|alpha',
        'address2' => 'required|alpha',
        'city' => 'required|alpha',
        'state'=>'required|alpha',
        'zip' => 'required|numeric',
        'phone' => 'required|alpha'
    ]);

如果验证失败,则会自动重定向到旧数据可用的先前请求。