Many controllers in my app uses the Validation class to validate inputted form data, and when there is any failure, it redirects (back) to the form. However, all the form data is lost because the page is reloaded. Is there any good way to restore the form data without manually setting all the fields and values (which is a horrible thing to do, if possible at all)?
If you have a hardcoded forum, either in HTML or using the Html / Form classes, you need to pass the data back to the view, and hardcode the mapping between that data and form field values.
If you use a fieldset, it has a populate() method that you can use to feed the validated results back into the fieldset, and a repopulate() method that uses the raw input to repopulate.