我有一个用于角度应用程序的Laravel API。 当我想发送一个表单请求时,它通常会返回一个错误消息列表,但我希望收到一个类似的数组:
{
'username': [
'required'
],
'password': [
'required',
'min'
]
}
我还想处理Request Class中的所有内容,而不是处理器内部。
我知道我必须覆盖
formatErrors(Validator $validator)
函数但Validator对象仅包含错误消息。
答案 0 :(得分:1)
您可以实际使用Validator :: failed,如下所示:
$validator = \Validator::make($request->all(), [
'name' => 'required',
'email' => 'required|email',
]);
if ($validator->fails()) {
return response()->json(($validator->failed());
}
返回类似于:
的内容{"name":{"Required":[]},"email":{"Required":[]}}
使用Illuminate\Foundation\Http\FormRequest
(这是真正的问题,对不起)
您可以使用formatErrors
返回失败的()响应:
protected function formatErrors(Validator $validator)
{
return $validator->failed();
}