質問: いつもお世話になります。 現在Railsでwebページを作っており、入力フォームと保存ボタンがあります。 このフォームにバリデーションをかけメールアドレスが正しい表現の場合に送信というかたちを取っております。railsの機能としてモデルでバリデーションをかけていないのは、バリデーションにかかった際に「ダイアログ(確認ダイアログのようなもの)」にて「正しいメールアドレスを入れてください」を表示させたいと考えており、そういった場合(ダイアログを出したりする場合)Railsのレンダリング機能だけでは難しいとこちらで回答を頂いたためです。 現在下記コードのようにJavascript内でバリデーション処理を行っていますが、この場合ですとJavascriptが有効になっていない場合、このバリデーションにひっかからないため、できればJavascriptではダイアログを出すためだけとし、バリデーション処理を他(Rubyなど)に任せたいと考えています。 そこで質問なのですが、Railsのレンダリング機能だけでバリデーション後のダイアログを出すことは難しいのでしょうか。 またJavascriptでダイアログをレンダリングする場合、モデルでバリデーションを行った後にjavascriptで表示ということは可能でしょうか。 ご教示いただければ幸いです。 よろしくお願いいたします。 ``` personal.html.erb <%= form_with(model: @userinfo, url: '/user/update', html: {id: 'inform_save', class: 'form'}) do |f| %> <%= f.label :to %> <%= f.email_field :to, size: 25, value: @userenter.to, id: "email_to" %> <%= f.label :名前 %> <%= f.text_field :XXXXX, id: "name" %> <%= f.submit '保存' %> <% end %> ```
回答: ダイアログを出すことも可能です。 別の方法とはなってしまいますがこのような例もあります