/// <summary>
        /// Actual implementation how to validate the specified object.
        /// </summary>
        /// <param name="validationContext">The object to validate.</param>
        /// <param name="contextParams">Additional context parameters.</param>
        /// <param name="errors"><see cref="ValidationErrors"/> instance to add error messages to.</param>
        /// <returns><c>True</c> if validation was successful, <c>False</c> otherwise.</returns>
        protected override bool ValidateGroup(IDictionary contextParams, IValidationErrors errors, object validationContext)
        {
            ValidationErrors tmpErrors = new ValidationErrors();
            bool             valid     = false;

            foreach (IValidator validator in Validators)
            {
                bool tmpValid = validator.Validate(validationContext, contextParams, tmpErrors);
                if (valid && tmpValid)
                {
                    valid = false;
                    if (this.FastValidate)
                    {
                        break;
                    }
                }
                else if (tmpValid)
                {
                    valid = true;
                }
            }

            if (!valid)
            {
                errors.MergeErrors(tmpErrors);
            }

            return(valid);
        }
Esempio n. 2
0
        /// <summary>
        /// Validates the specified object.
        /// </summary>
        /// <param name="validationContext">The object to validate.</param>
        /// <param name="contextParams">Additional context parameters.</param>
        /// <param name="errors"><see cref="ValidationErrors"/> instance to add error messages to.</param>
        /// <returns><c>True</c> if validation was successful, <c>False</c> otherwise.</returns>
        protected override bool ValidateGroup(IDictionary contextParams, IValidationErrors errors, object validationContext)
        {
            // capture errors in separate collection to only add them to the error collector in case of errors
            ValidationErrors tmpErrors = new ValidationErrors();
            bool             valid     = false;

            foreach (IValidator validator in Validators)
            {
                valid = validator.Validate(validationContext, contextParams, tmpErrors) || valid;
                if (valid && FastValidate)
                {
                    break;
                }
            }

            if (!valid)
            {
                errors.MergeErrors(tmpErrors);
            }
            return(valid);
        }
Esempio n. 3
0
        /// <summary>
        /// Validates the specified object.
        /// </summary>
        /// <param name="contextParams">Additional context parameters.</param>
        /// <param name="errors"><see cref="ValidationErrors"/> instance to add error messages to.</param>
        /// <param name="validationContext">The object to validate.</param>
        /// <returns><c>True</c> if validation was successful, <c>False</c> otherwise.</returns>
        protected override bool ValidateGroup(IDictionary<string, object> contextParams, IValidationErrors errors, object validationContext)
        {
            // capture errors in separate collection to only add them to the error collector in case of errors
            ValidationErrors tmpErrors = new ValidationErrors();
            bool valid = false;
            foreach (IValidator validator in Validators)
            {
                valid = validator.Validate(validationContext, contextParams, tmpErrors) || valid;
                if (valid && FastValidate)
                {
                    break;
                }
            }

            if (!valid)
            {
                errors.MergeErrors(tmpErrors);
            }
            return valid;
        }
        /// <summary>
        /// Actual implementation how to validate the specified object.
        /// </summary>
        /// <param name="validationContext">The object to validate.</param>
        /// <param name="contextParams">Additional context parameters.</param>
        /// <param name="errors"><see cref="ValidationErrors"/> instance to add error messages to.</param>
        /// <returns><c>True</c> if validation was successful, <c>False</c> otherwise.</returns>
        protected override bool ValidateGroup(IDictionary contextParams, IValidationErrors errors, object validationContext)
        {
            ValidationErrors tmpErrors = new ValidationErrors();
            bool valid = false;
            foreach (IValidator validator in Validators)
            {
                bool tmpValid = validator.Validate(validationContext, contextParams, tmpErrors);
                if (valid && tmpValid)
                {
                    valid = false;
                    if (this.FastValidate)
                    {
                        break;
                    }
                }
                else if (tmpValid)
                {
                    valid = true;
                }
            }

            if (!valid)
            {
                errors.MergeErrors(tmpErrors);
            }

            return valid;
        }