Exemplo n.º 1
0
        /// <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));
 }