protected override ValidationResult IsValid(object value, ValidationContext validationContext) { string email = (value as string).Trim(); ICollaboratorRepository _collaboratorRepository = (ICollaboratorRepository)validationContext.GetService(typeof(ICollaboratorRepository)); List <Collaborator> collaborators = _collaboratorRepository.GetCollaboratorPerEmail(email); Collaborator objCollaborator = (Collaborator)validationContext.ObjectInstance; if (collaborators.Count > 1) { return(new ValidationResult("Este email já foi cadastrado por outro usuário")); } if (collaborators.Count == 1 && objCollaborator.Id != collaborators[0].Id) { return(new ValidationResult("Este email já foi cadastrado por outro usuário")); } return(ValidationResult.Success); }