我正在尝试为错误响应输出以下格式,我的主要问题是为每个验证失败传递自定义代码(在这种情况下为622)和URL:
{
"errors": [
{
"message": "Name is Required",
"code": 622,
“info": "http://error.says/docs/v1/errors/622"
}
]
}
但是,以下是生成的错误:
{
"name": [
"The name field is required."
]
}
我应该创建自己的ValidationException
类吗?
这是我的UserRequest
,它定义了验证规则:
class UserRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'name' => 'required|string|max:5',
];
}
}
这是我的FormRequest
:
protected function failedValidation(Validator $validator)
{
throw new ValidationException($validator, $this->response(
$validator->getMessageBag()->toArray()
));
}
public function response(array $errors)
{
return new JsonResponse($errors, 422);
}