refactored DomainValidation so that validators can return more than one error