Railsプロジェクトの投稿に検証を追加しています。すべてが編集には適していますが、新しいフォームでは、フォームが実際にサブミットされる前にalert divが既に表示されます。バリデーションがfalseを返す場合、フォームの提出時にのみdivが表示されるように修正するにはどうすればよいですか。あなたはこの方法#invalid?
を使用する場合は新しいフォームのRails検証がすでに実行されています。
<% if @post.changed? && @post.invalid? %>
<div class="alert alert-danger">
<% @post.errors.full_messages.each do |message| %>
<%= message %><br>
<% end %>
</div>
<% end %>
私はフォームに到着したときに私は赤い警告のdivが表示されないので、これは部分的に動作しますが、例えば名前をblanckのままにしておきます)。 – frogtube
すべての場合、正解、元のバージョンは正しくありませんでした。あなたは新しいバージョンを試してみませんか?新しいものが正しく動作することを願っています。 –
最初に戻ると、ページに着くと赤い欄が表示されます。 – frogtube