【Laravel】validationエラーの情報はちゃんとObjectで返ってきてるぞ!

Laravelで用意されている通常のvalidation機能

laravel.com

を使うと、フロントエンドでエラーメッセージ等の詳細情報を取得できないのかと思って焦っていた。 そのとき僕は以下のようにエラーハンドリングしていた(つまりしてないw)

        .then((data) => {
          }).catch(err => {
            console.error(err)
          })

すると、consoleには以下のように表示された f:id:yooska14:20181124154102p:plain ので、文字列が返ってきているものとばかり思っていた。

解決方法

しかし、

        }).catch(err => {
          console.log(err.response)
        })

このようにerr.responseをdumpしてみるとエラー情報の詳細がオブジェクトに格納されていることが確認できた。 f:id:yooska14:20181124154423p:plain LaravelというよりもChrome Consoleの仕様でこのような表記になっていたみたい。よく考えたら通常の文字列表示とは違かったので気づけなかったのが悔しい。