佐古田です。
表題の通りですがある催しに対して受付を行うフォームを作りたいと思っています。
Djangoを利用したフォームの利用はこれまでにも経験がありますが、今回はフォームの入力内容を確認してもらって最終的に送信するようにワンステッ
プかませたいと思っています。
そういった場合に以下のようなことが思い浮かびますが、もし他にいいアイデアあれば教えてください。
【その1】送信ボタンのonclickイベントに確認ダイアログを出させるようにjavascriptだけで制御する。
一番簡単にできますが、送信確認した後に入力内容の検証が行われるので不親切。
【その2】「その1」に対して入力内容の検証もすべてjavascriptにてまとめて行う。
ユーザーフレンドリーは多少改善されますが、Djangoの強力なvalidationの魅力が活かせない。
【その3】モデル側にdraftフラグを設けておき最初の入力後の送信で一度DBに書き込み、確認後の送信でdraftフラグをFalseにする。
一番現実的なところかなと思っております。しかしviewの実装がくどくなりそうな気がしております。
まだ試してみてないのであれですけどsave(commit=False)の結果を渡してやれば少なくともDBへの書き込みはなくdraftフラグも要
らないのかなという気もしてきました。
いずれにせよ「ユーザの入力」「入力内容の確認」「データの送信」というった流れはよくありますので何か定型的なパターンがあるのかなと思って質問させ
ていただいた次第です。
Djangoのバージョンは1.0です。
以上、よろしくお願いします。