【Rails】バリデーションのエラーメッセージを表示する

バリデーションのエラーメッセージを表示する

スポンサーリンク

Railsでバリデーションエラーが発生している場合、大体の場合でエラーメッセージを表示します。
メッセージはモデルのerrorsに格納されていて、いくつかの取得方法があります。

全てのエラーメッセージを取得

errors.messages

エラーメッセージをハッシュ形式で取得します。

@post.errors.messages
=> {:title=>["can't be blank"]}

errors.full_messages

全てのエラーメッセージを配列で取得します。

@post.errors.full_messages
=> ["Title can't be blank"]

複数のメッセージが格納されていることもあるので、全て表示するには each でループで回しましょう。

<% @post.errors.full_messages.each do |message| %>
  <%= message %>
<% end %>

個別のエラーメッセージを取得

errors.full_messages_for(symbol)

対象のシンボルのメッセージを配列で取得します。

@post.errors.full_messages_for(:title)
=> ["Title can't be blank"]

こちらも複数のメッセージが格納されていることもあるので、全て表示するには each でループで回しましょう。

<% @post.errors.full_messages_for(:title).each do |message| %>
  <%= message %>
<% end %>

プログラミング学習につまづいていませんか?

自分の力で勉強していく独学は大変です。ゼロからだとなおさら辛いはず。

一人でやっていると、誰かに教えてもらいたい、もっと効率的にプログラミングを学びたい、という場面が必ずあります。

ということならばスクールを検討してみてはいかがでしょう。

オンラインで完結するプログラミングスクール「TECH::CAMP」

TECH::CAMP

TECH::CAMPは人気・評判がともに高く、月額12,800円から受講できるオンライン対応のプログラミングスクールです。

TECH::CAMPでは、ネットで受講できて講師にも質問し放題なので、好きなときに必要な知識を重点的に勉強できます。
オンラインスクールを利用すれば、住んでる場所に関係なくプログラミングスキルが磨けますよ

独学がちょっと苦しくなってしまった……という方は、オンラインでの受講を考えてみてはいかがでしょうか。

バリデーションのエラーメッセージを表示する