返回带有键和类型的验证消息

时间:2016-04-15 08:18:39

标签: angularjs validation laravel laravel-5.2

我有一个用于角度应用程序的Laravel API。 当我想发送一个表单请求时,它通常会返回一个错误消息列表,但我希望收到一个类似的数组:

{
  'username': [
    'required'
  ],
  'password': [
    'required',
    'min'
  ]
}

我还想处理Request Class中的所有内容,而不是处理器内部。

我知道我必须覆盖

formatErrors(Validator $validator)

函数但Validator对象仅包含错误消息。

1 个答案:

答案 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(); 
}