#279: Validating required fields. Do not allow to skip invalid field with tab key
#279: Prevent navigate to other fields through mouse click if current field is invalid
#279: Refactoring of form models for better inheritance
#279: Refactoring of validators / Error messages shown for field / Implemented logic to not allow skip field or question with keyboard navigation