gpt4 book ai didi

php - 检查使用自定义表单请求类时是否存在任何验证错误

转载 作者:可可西里 更新时间:2023-11-01 01:14:28 25 4
gpt4 key购买 nike

我正在使用 Laravel 5.4。我有一个自定义表单请求类,其中有我的验证规则和消息,我在我的 Controller 中使用它,如下所示:

public function store(CustomFormRequest $request)
{
//
}

我正在使用 ajax 发送请求,当出现任何验证错误时,Laravel 会抛出一个带有 422 状态代码的 HTTP 响应错误,其中包括验证错误的 JSON 表示形式。

但我不想这样。相反,在我的 Controller 的方法中,我想找出是否存在任何验证错误,如果有任何错误,那么我想返回一个响应,其中包含一些额外的数据以及验证消息,如下所示:

// Inside my Controller
public function store(CustomFormRequest $request)
{
if ($validator->fails())
{
$errors = $validator->errors();

return response()->json(array('status' => 2, 'msg' => $errors->all() ));
}
}

你能帮忙吗?提前致谢。

最佳答案

最简单的方法是覆盖 Form Request 类的 response() 方法。

为此,您只需在类中添加如下内容即可:

public function response(array $errors)
{
if ($this->expectsJson()) {
return new JsonResponse(['status' => 2, 'msg' => $errors], 422);
}

return parent::response($errors);
}

不要导入 Illuminate\Http\JsonResponse

希望这对您有所帮助!

关于php - 检查使用自定义表单请求类时是否存在任何验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43178122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com