Move form validation to the gateway

There’s a built in method to handle form validation and we might as
well use it.