2017-10-20 84 views
1

我發送錯誤信息像這樣的錯誤的情況下,從數據庫或任何其他問題得到數據:如何自定義錯誤的JSON格式的驗證流明(Laravel)

return response()->json(['status' => 'Failed' ,'state'=>'100' , 'message'=>'You have not registered yet.' ], 401); 

這給了我一個JSON它具有一切定義,因此無論問題出在哪裏,我都可以輕鬆顯示消息。

但是如果在驗證的情況下發生錯誤,我似乎沒有權力更改錯誤響應JSON的格式。

$this->validate($request, [ 
    'email' => 'required', 
    'password' => 'required' 
    ]); 

我想自定義上面給出的錯誤格式,以便我不必更改顯示機制的錯誤。

回答

0

您可以手動創建一個驗證,並添加自定義的響應,如果它失敗了,就像這樣:

$validator = Validator::make($request->all(), [ 
    'email' => 'required', 
    'password' => 'required' 
]); 

if ($validator->fails()) { 
    return response()->json(['status' => 'Failed' ,'state'=>'100' , 'message'=> $validator->errors()->first() ], 401); 
} 
+0

請添加源,因爲我已經通過了文檔,但無法找到一個很好的解決方案 –

+0

剛用上面的代碼示例替換示例中的'$ this-> validate(...)'調用,它應該可以工作! – Tudor

+0

我有它的工作,但一些博客或文檔將是我未來的幫助的好選擇 –