private bool IsValid(Email email) { email.Errors = new List <Error>(); ValidationContext context = new ValidationContext(email); List <ValidationResult> results = new List <ValidationResult>(); bool isValid = Validator.TryValidateObject(email, context, results, true); foreach (ValidationResult r in results) { email.AddError(new Error(email.Errors.Count, r.ErrorMessage, "Model")); } return(isValid); }