コード例 #1
0
 public ValidationRulePredicated(
     IValidationRuleBuilder <TModel> builder,
     ValidationRulePredicateGroupsValidator <TModel> predicateGroups) :
     base(builder)
 {
     _predicateGroups = predicateGroups;
 }
コード例 #2
0
        static IValidator <TModel> CreateValidator(
            Action <IValidationRule <TModel> > action)
        {
            var predicateGroups =
                new ValidationRulePredicateGroupsValidator <TModel>();
            var builder = new ValidationRuleBuilder <TModel>();
            var rule    = new ValidationRulePredicated <TModel>(builder, predicateGroups);

            action(rule);

            return(new ValidationRuleValidator <TModel>(builder));
        }
コード例 #3
0
        public IValidationRulePredicated <TModel> When(
            IValidator <TModel> validator)
        {
            var predicateGroups
                = new ValidationRulePredicateGroupsValidator <TModel>(validator);

            var builder = new ValidationRuleBuilder <TModel>();
            var rule    = new ValidationRulePredicated <TModel>(
                builder, predicateGroups);

            _validators.Add(
                new ValidationRuleConditionalValidator <TModel>(
                    predicateGroups,
                    true, false,
                    builder)
                );

            return(rule);
        }
コード例 #4
0
        public IValidationRulePredicated <TModel> Assert(
            IEnumerable <IValidationPredicate <TModel> > predicates)
        {
            var predicateGroups
                = new ValidationRulePredicateGroupsValidator <TModel>();

            predicateGroups.Add(predicates.ToArray());

            var builder = new ValidationRuleBuilder <TModel>();
            var rule    = new ValidationRulePredicated <TModel>(builder, predicateGroups);

            _validators.Add(
                new ValidationRuleConditionalValidator <TModel>(
                    predicateGroups,
                    true, true,
                    builder)
                );

            return(rule);
        }