Replace ValidationError constructors to Validator.createValidationError

- apply createValidationError
- added toString, equals, and hashCode
- made concrete validator classes final