1

現在、twitterブートストラップモーダルボックスを使用しているアプリがあります。モーダルが表示しているdivは、/ users/newアクションからJQueryをロードしています。ユーザーが送信されたモーダルボックスに有効なデータを入力した場合、すべてがうまく機能しますが、paramsに送信されたデータが検証に合格しなかった場合、コントローラーは新しいアクションにリダイレクトしますが、今回はモーダルボックスの外にあり、ユーザーが以前に表示していたページはそもそもモーダルボックスを持つという目的を打ち破るようなものです。

Live-Validationおよびその他のjavascriptベースのクライアント側検証を見てきました。これらはオプションですが、一貫性を保つために、ユーザーモデルで既存の検証を使用できるようにしたいと思います。フォームの送信中にモーダルボックスを永続化し、コントローラーにerror_messagesを使用してモーダル内のページをリロードさせる良い方法はありますか?

ありがとう

4

1 に答える 1

1

error_messagesはjavascriptを使用してモーダルにロードされていますか?もしそうなら、あなたはロード時にerror_messagesがあるかどうかを確認するためにページをチェックさせ、そしてもしあればモーダルボックスをポップオープンすることができます。これにより、モーダルからの入力は保存されませんが、ポップして開きます。

または、現在のモデルに加えて、クライアント側の簡単な検証を実装することもできます。ただし、それがどれだけ軽いかは、モデルが入力に関してどれだけうるさいかによって異なります。何を受け入れる/拒否するかが非常に具体的である場合、一貫性を検証することははるかに困難であり、クライアント側の検証を通過して、バウンスして無効であると言うだけでよいとは限りません。

于 2012-07-03T15:25:36.213 に答える