首页 > 解决方案 > 即使请求验证失败,也继续使用 Controller

问题描述

我有这个控制器,它有自己的请求类和规则来验证。即使验证失败,我也需要它进入控制器。即使它是错误的,我也需要创建对象。但也将错误发回给用户。

 /**
 * Ebdn_gnl - Store
 * Store a newly created resource in storage.
 *
 * @param  \Ebdn\Http\Requests\EbdnGnlRequest $request
 * @return \Illuminate\Http\Response
 */
//public function store(Request $request)
public function store(EbdnGnlRequest $request)
{
    dump($request->all());
    return response("Api under construction", 200);
}

标签: phplaravelvalidationrequest

解决方案


找到了 !!

在我的请求类中,我需要覆盖 failedValidation 函数以使其将错误合并到请求中(因此我可以在控制器中访问它们)而不是抛出错误。

类 EbdnGnlRequest 扩展 FormRequest {

protected function failedValidation(Validator $validator)
{
    $this->merge(['errors' => $validator->errors()]);
}

推荐阅读