2016-04-15 36 views
0

我有一個Laravel API我用於角應用程序。 當我想給它正常返回我的錯誤消息的列表的形式要求,但我想收到這樣一個數組:返回驗證消息與鍵和

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

我也想處理的請求類,而不是在控制器內的一切。

我知道我必須覆蓋

formatErrors(Validator $validator) 

功能,但驗證對象只包括錯誤消息。

回答

1

可以actualy使用驗證::失敗,像這樣:

$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(); 
} 
+0

我想在請求類中使用驗證器,而不是在控制器中 – mimo

+0

您能否向我/我們提供一段關於您現在如何處理請求的代碼? '保護函數formatValidationErrors(\ Validator $ validator) {return $ validator-> failed(); 「工作? –

+1

對不起''protected function formatErrors(Validator $ validator){return $ validator-> failed(); }' –