我想通过使用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()
}
答案 0 :(得分:1)
默认情况下,FormRequest会将用户返回到包含错误和输入的上一页。您不必手动指定它。只需设置规则并在控制器方法中使用新创建的FormRequest
,而不是使用Request
对象。
这就是幕后发生的事情。
return $this->redirector->to($this->getRedirectUrl())
->withInput($this->except($this->dontFlash))
->withErrors($errors, $this->errorBag);