validate について質問

1.inputフォーム
2.validate->確認画面
3.DB更新&完了画面

という遷移をしたい場合 validateって3でも必要ですか?
2でvalidateが通った後無理やり GET引数に?varname=XXXX...略、とか
したら、validateが通っていないデータで更新できてしまいますよね?

あと、formでpostを繰り返して遷移していく場合、もどると期限切れに
なりますよね?これって 302とかを使って解決すると思いますが、
Ethna的にはどのように書くのでしょうか?

1. GET なにがしかの form
2. POST confirm [validate] => 302 confirmed
3. GET confirmed
4. POST do => 302 done
5. GET done