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