bla*_*elt 5 php validation laravel
我正在使用 Laravel 5.4。我有一个自定义表单请求类,其中有验证规则和消息,我在控制器中使用它,如下所示:
public function store(CustomFormRequest $request)
{
//
}
Run Code Online (Sandbox Code Playgroud)
我使用 ajax 发送请求,当出现任何验证错误时,Laravel 会抛出一个带有 422 状态代码的 HTTP 响应的错误,其中包括验证错误的 JSON 表示形式。
但我不想要这样。相反,在我的控制器的方法中,我想找出是否存在任何验证错误,如果有,那么我想返回带有一些附加数据以及验证消息的响应,如下所示:
// Inside my Controller
public function store(CustomFormRequest $request)
{
if ($validator->fails())
{
$errors = $validator->errors();
return response()->json(array('status' => 2, 'msg' => $errors->all() ));
}
}
Run Code Online (Sandbox Code Playgroud)
能否请你帮忙 ?提前致谢。
最简单的方法是重写response()Form Request 类的方法。
为此,您可以简单地将如下内容添加到您的类中:
public function response(array $errors)
{
if ($this->expectsJson()) {
return new JsonResponse(['status' => 2, 'msg' => $errors], 422);
}
return parent::response($errors);
}
Run Code Online (Sandbox Code Playgroud)
不要为了导入Illuminate\Http\JsonResponse
希望这可以帮助!