カスタム検証ルールを設定することはできませんが、効果なしと -ルーメンは、私は、カスタム検証メッセージを設定するには、このコードを試してみてください
{
"error": "The given data failed to pass validation."
}
何間違った - しかし、エラー時に私はこの応答を得た
class TestController extends Controller
{
public function submit(Request $request)
{
$this->validate($request,
[
'items' => 'required'
],
[
'items.required' => 'test test'
]
);
}
}
このコードで?
UPD:
以前の私は、特定のフォーマットで(APIレスポンスで)エラーを置くためにApp\Exceptions\Handler
を編集 -
public function render($request, Exception $e)
{
return response([
'error' => $e->getMessage()
], 500);
}
-
{
"error": "123"
}
このコードは、検証エラーが示されていないということの理由でありますこの目的で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
はい、私は\ exceptionを{error ":}フィールドとして表示する必要があります。しかし、検証エラーもそこに入れるのは良いことです。 – sharp
https://stackoverflow.com/questions/37038229/laravel-5-2-validation-with-api/37725464#37725464 – tanerkuc