То, что вы делаете, звучит как реализация модели PRG для обработки многошаговых форм.
Возможно, вы захотите выполнить POST для текущего шага, а затем перенаправить на следующий шаг, только если форма проверена. Нет проблем с перенаправлением между шагами; на самом деле, как вы, вероятно, обнаружили, это позволяет вам поддерживать кнопку возврата браузера в ваших формах.