いつもお世話になります。
以下のようにフォームとボタンを用意し、フォーム内容を送信する際にカスタムで作成したバリデーションを通し、問題があった場合にエラー内容をviewに投げ、フォームの下にエラーメッセージを表示するようにしています。
この際に同時にフォームの縁も赤くする処理をしたいのですが、どのようにすればよいのでしょうか。
Railsはフォームでのエラー時にdivタグでその内容を囲む(赤くする処理)という情報があったのですが、エラー時にソースを見ても特にdivタグで囲まれてはいませんでした。
正しいやり方をご教示いただけますと幸いです。
よろしくお願いいたします。
Ruby
1 2# view側 3<%= form_with(model: @userinfo, local: true, html: {id: 'inform_save', class: 'form', autocomplete: 'off'}) do |f| %> 4 <div class="field"> 5 <%= f.label :to, "To" %> 6 <%= f.text_field :to, size: 25, value: @userenter.email_to, id: "email_to" %> 7 <div id="form_error"> 8 <% unless @user.errors.full_messages_for(:email_to).empty? %> 9 <%= @user.errors.messages[:email_to][0] %> 10 <% end %> 11 </div> 12 </div> 13 14 <div class="actions"> 15 <%= f.submit '保存' %> 16 </div> 17</div> 18 19 20 21# controller側 22 23def update 24 @user = User.find_by(url: xxxx) 25 @user.update(email_to: "#{params[:to]}") 26end 27 28 29# model側 30 31validate :user_error 32 33def user_error 34 バリデーションの処理 35end
あなたの回答
tips
プレビュー