Experimenting with using exception for form validation failure. so far looks good, makes controller much cleaner and easier to use. Future changes to behaviour will be easier. It can also be overridden easily in individual formValidators