/// <summary> /// Determines whether the specified object is valid and returns an list of ValidationResults. /// </summary> /// <param name="obj">The object.</param> /// <param name="validateAllProperties"> /// If <c>true</c>, evaluates all the properties, otherwise just checks that /// ones marked with <see cref="RequiredAttribute"/> are not null. /// </param> /// <returns></returns> /// <exception cref="System.NotImplementedException"></exception> public static IEnumerable <ValidationResult> Validate(object obj, bool validateAllProperties) { var items = CreateContextItems(validateAllProperties); var context = new ValidationContext(obj, serviceProvider: null, items: items); var results = new List <ValidationResult>(); if (!validateAllProperties) { results.AddRange(ValidateRecursing(obj, context)); } else { Validator.TryValidateObject(obj, context, results, validateAllProperties); } return(AggregateValidationResult.Flatten(results)); }
public AggregateValidationException(string errorMessage, AggregateValidationResult validationResult) : base(validationResult, null, null) { ValidationResults = validationResult.Results; ValidationExceptions = validationResult.Flatten().Select(x => new ValidationException(x.ErrorMessage)); }