Example #1
0
        /// <summary>
        /// Валидирует заданный объект коллекцией правил валидации
        /// и генерирует исключение, если результат содержит ошибки
        /// </summary>
        /// <typeparam name="T">Тип объекта для валидации</typeparam>
        /// <param name="validator">Валидатор</param>
        /// <param name="rules">Коллекция правил валидации</param>
        /// <param name="instance">Ссылка на объект валидации</param>
        /// <param name="context">Контекст валидации</param>
        /// <returns>Результат валидации</returns>
        public static Task ValidateAndThrow <T>(
            this IValidatorAsync validator, IEnumerable <IRule <T> > rules, T instance, ValidationContext context)
        {
            var result = validator.ValidateAsync(rules, instance, context);

            return(ThrowIfIsNotValid(result));
        }
Example #2
0
        /// <summary>
        /// Валидирует объект набором правил и генерирует исключение,
        /// если результат содержит ошибки
        /// </summary>
        /// <typeparam name="T">Тип объекта валидации</typeparam>
        /// <param name="validator">Валидатор</param>
        /// <param name="ruleSet">Набор правил валидации</param>
        /// <param name="instance">Ссылка на объект валидации</param>
        /// <param name="context">Контекст валидации</param>
        public static Task ValidateAndThrowAsync <T>(
            this IValidatorAsync validator, IValidationRuleSet <T> ruleSet, T instance, ValidationContext context)
        {
            var result = validator.ValidateAsync(ruleSet, instance, context);

            return(ThrowIfIsNotValid(result));
        }
        public ValidatorStruture(IValidatorAsync <TField> validatorAsync)
        {
            StructureType  = ValidatorStrutureType.ValidatorAsync;
            ValidatorAsync = validatorAsync;

            Message   = null;
            Must      = null;
            MustAsync = null;
            Validator = null;
        }
 public IFieldValidatorCreator <TModel, TField> Set(IValidatorAsync <TField> validatorAsync)
 {
     CheckQueueAndCurrentValidator();
     _current = new ValidatorStruture <TField>(validatorAsync);
     return(this);
 }