我試試這個代碼設置自定義驗證消息,但沒有效果 -流明不能設置自定義的驗證規則
class TestController extends Controller
{
public function submit(Request $request)
{
$this->validate($request,
[
'items' => 'required'
],
[
'items.required' => 'test test'
]
);
}
}
但在錯誤我得到這個響應 -
{
"error": "The given data failed to pass validation."
}
什麼錯用這個代碼?
UPD:
早些時候,我編輯App\Exceptions\Handler
把錯誤(API響應)在特定的格式 -
{
"error": "123"
}
此代碼的原因,未顯示驗證錯誤 -
public function render($request, Exception $e)
{
return response([
'error' => $e->getMessage()
], 500);
}
我更新了Handler::render
關於此目的的方法
public function render($request, Exception $e) {
$response = parent::render($request, $e);
if (isset($response->exception) and !empty($response->exception)) {
return response(['error' => $response->exception->getMessage()], 500);
} else {
return parent::render($request, $e);
}
}
但我想我需要改進這段代碼。
可你只要把異常處理文件放回其原始狀態而您的修改?只是爲了確保:您的主要問題是它沒有顯示您的自定義錯誤消息,對不對? – codedge
是的,我需要顯示我的\例外作爲{「錯誤」:}字段的迴應。但是在這裏也可以驗證錯誤。 – sharp
請參閱https://stackoverflow.com/questions/37038229/laravel-5-2-validation-with-api/37725464#37725464 – tanerkuc