I have two forms on one page, one at the top of the page, one at the bottom. I’m using two different forms so they work and don’t get confused. If there’s a validation error on the bottom form (such as blank required field), when it’s submitted the page scrolls to the top of the page rather than to the top of the bottom form.
You can use the gform_confirmation_anchor filter for that. Despite the name, the filter runs when the page is reloaded with a validation error as well.