Forms can be tricky to understand because interacting with them takes more than one request-response cycle. In the simplest scenario, you need to present an empty form, and the user fills it correctly and submits it. In other cases, they enter some invalid data and the form needs to be resubmitted until the entire form is valid.
So, a form goes through several states:
Note that the users will never see the form in the last state. They don't have to. Submitting a valid form should take the users to a success page.