Laravel请求验证程序重定向错误

时间:2017-05-20 11:47:55

标签: php laravel validation request

我想通过使用Laravel请求来创建验证器,并且验证工作正常。但是如果我不在控制器中执行它们,如果验证器失败,我将无法返回查看错误。

是否可以实现这一点:

    if ($validator->fails()) {
        return redirect('post/create')
                    ->withErrors($validator)
                    ->withInput();
    }

在自定义请求中?这样的事情可能是:

public function rules()
{
    return [
        'name' => 'required',
        'email' => 'required|email|unique:users',
        'password' => 'required|min:6|confirmed',
    ]; // ->withErrors()
}

1 个答案:

答案 0 :(得分:1)

默认情况下,FormRequest会将用户返回到包含错误和输入的上一页。您不必手动指定它。只需设置规则并在控制器方法中使用新创建的FormRequest,而不是使用Request对象。

这就是幕后发生的事情。

return $this->redirector->to($this->getRedirectUrl())
            ->withInput($this->except($this->dontFlash))
            ->withErrors($errors, $this->errorBag);