即使请求验证失败,也要继续执行Controller

时间:2020-05-07 22:08:51

标签: php laravel validation request

我有这个控制器,它带有自己的请求类和规则进行验证。即使验证失败,我也需要它进入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);
}

2 个答案:

答案 0 :(得分:1)

找到了!!

在我的请求类中,我需要重写failedValidation函数,以使其将错误合并到请求中(这样我就可以在Controller中访问它们),而不是抛出错误。

EbdnGnlRequest类扩展了FormRequest {

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

答案 1 :(得分:0)

为此,您可以针对每个规则在请求中添加一条消息:

public function message(){}

祝你好运!