Exemple #1
0
        /// <summary>
        /// Validates the specified instance.
        /// </summary>
        /// <param name="context">Validation Context</param>
        /// <returns>A ValidationResult object containing any validation failures.</returns>
        public virtual ValidationResult Validate(ValidationContext <T> context)
        {
            context.Guard("Cannot pass null to Validate");
            var failures = nestedValidators.SelectMany(x => x.Validate(context)).ToList();

            return(new ValidationResult(failures));
        }
        /// <summary>
        /// Validates the specified instance.
        /// </summary>
        /// <param name="context">Validation Context</param>
        /// <returns>A ValidationResult object containing any validation failures.</returns>
        public virtual ValidationResult Validate(ValidationContext <T> context)
        {
            context.Guard("Cannot pass null to Validate.");
            EnsureInstanceNotNull(context.InstanceToValidate);
            var failures = nestedValidators.SelectMany(x => x.Validate(context));

            return(new ValidationResult(failures));
        }
Exemple #3
0
        Task <ValidationResult> IValidator.ValidateAsync(ValidationContext context, CancellationToken cancellation)
        {
            context.Guard("Cannot pass null to Validate");

            var newContext = new ValidationContext <T>((T)context.InstanceToValidate, context.PropertyChain, context.Selector)
            {
                IsChildContext = context.IsChildContext
            };

            return(ValidateAsync(newContext, cancellation));
        }
Exemple #4
0
        ValidationResult IValidator.Validate(ValidationContext context)
        {
            context.Guard("Cannot pass null to Validate");

            var newContext = new ValidationContext <T>((T)context.InstanceToValidate, context.PropertyChain, context.Selector)
            {
                IsChildContext = context.IsChildContext
            };

            return(Validate(newContext));
        }
Exemple #5
0
        /// <summary>
        /// Validates the specified instance asynchronously.
        /// </summary>
        /// <param name="context">Validation Context</param>
        /// <returns>A ValidationResult object containing any validation failures.</returns>
        public virtual Task <ValidationResult> ValidateAsync(ValidationContext <T> context)
        {
            context.Guard("Cannot pass null to Validate");
            var failures = new List <ValidationFailure>();

            return(TaskHelpers.Iterate(
                       nestedValidators
                       .Select(v => v.ValidateAsync(context).Then(fs => failures.AddRange(fs), runSynchronously: true)))
                   .Then(() => new ValidationResult(failures)
                         ));
        }