railsで作ったAPIでバリデーションエラーが発生した場合、それをどうクライアントに伝えるかで試行錯誤しています。
最終的にやりたいこととしてはrailsのバリデーションエラーに引っかかった際に下記のようなjsonをクライアント側に返したいです。(エラーコードは独自で定義しています。例えば既に登録されているメールアドレスを登録しようとした場合は123、メールアドレスの形式が正しくない場合は124など、、)
{ code:123 message: record not unique }
独自のバリデーションでエラーコードも一緒に返す方法は記事が見つかったのですが、今回やりたいのは例えば validates :email,uniqueness: {case_sensitive: true}
というようなrailsで既に用意されているバリデーションに引っかかった際にクライアント側に返すときに、まずどのバリデーションで引っかかったのかをrails側で検知して、jsonを構築し、レスポンスとして返す必要があると思います。
どのように実現すればいいのでしょうか?ご回答お願いいたします。
あなたの回答
tips
プレビュー