Forms: improved validations
With the new form functions some validations that were done in views were moved to form validation.
Beside better structured code now instead of losing form data and having a error message displayed on top, form data now persists and the error is shown at the specific field.
- Type validations
- Hierarchy validations
- Event: added validation to check if selected super event isn't already a sub event
- Forms now aren't re-populated if there were form errors so that changes made are persistent when validation fails