Exemple #1
0
 private void ValidateChilds(BlockingCollection <IValidationNode> nodes, IValidationNode parentNode, IValidateContext context, EDSValidationResult edsValidationResult)
 {
     //Now look for our child and validate them.
     Parallel.ForEach(nodes.Where(c => c.ParentValidationCode == parentNode.ValidationCode).ToList(), c =>
     {
         Stopwatch swNode = new Stopwatch();
         swNode.Start();
         c.ParentValidationNode = parentNode;
         _logger.LogInformation(string.Format("Validation of {0} node with parentnode {1} started.", c.ValidationCode, c.ParentValidationCode));
         if (c.Validate(context))
         {
             edsValidationResult.NodeValidateResult.Add(new KeyValuePair <IValidationNode, bool>(c, true));
             edsValidationResult.NodeExecutionTimeResult.Add(new KeyValuePair <IValidationNode, long>(c, swNode.ElapsedMilliseconds));
             _logger.LogInformation(string.Format("Validation of {0} node with parentnode {1} passed.", c.ValidationCode, c.ParentValidationCode));
             ValidateChilds(nodes, c, context, edsValidationResult);
         }
         else
         {
             edsValidationResult.NodeValidateResult.Add(new KeyValuePair <IValidationNode, bool>(c, false));
             edsValidationResult.NodeExecutionTimeResult.Add(new KeyValuePair <IValidationNode, long>(c, swNode.ElapsedMilliseconds));
             _logger.LogInformation(string.Format("Validation of {0} node with parentnode {1} failed.", c.ValidationCode, c.ParentValidationCode));
         }
         _logger.LogInformation(string.Format("Validation of {0} node with parentnode {1} completed.", c.ValidationCode, c.ParentValidationCode));
     });
 }
        private static void fillFields(ValidationOptions options, IValidationNode node, IServiceLocator services, Accessor accessor)
        {
            var mode = node.DetermineMode(services, accessor);
            var field = new FieldOptions
            {
                field = accessor.Name,
                mode = mode.Mode
            };

            var graph = services.GetInstance<ValidationGraph>();
            var rules = graph.FieldRulesFor(accessor);
            var ruleOptions = new List<FieldRuleOptions>();

            rules.Each(rule =>
            {
                var ruleMode = rule.Mode ?? mode;
                ruleOptions.Add(new FieldRuleOptions
                {
                    rule = RuleAliases.AliasFor(rule),
                    mode = ruleMode.Mode
                });
            });

            field.rules = ruleOptions.ToArray();

            options._fields.Add(field);
        }
 public ValidationResult(IValidateContext context, IValidationNode validateNode)
 {
     _node = validateNode;
     context.ResultCollection.Add(this);
     this.ValidationCode       = validateNode.ValidationCode;
     this.ParentValidationCode = validateNode.ParentValidationCode;
 }
Exemple #4
0
        private static void fillFields(ValidationOptions options, IValidationNode node, IServiceLocator services, Accessor accessor, Type type)
        {
            var mode  = node.DetermineMode(services, accessor);
            var field = new FieldOptions
            {
                field = accessor.Name,
                mode  = mode.Mode
            };

            var graph       = services.GetInstance <ValidationGraph>();
            var rules       = graph.FieldRulesFor(type, accessor);
            var ruleOptions = new List <FieldRuleOptions>();

            rules.Each(rule =>
            {
                var ruleMode = rule.Mode ?? mode;
                ruleOptions.Add(new FieldRuleOptions
                {
                    rule = RuleAliases.AliasFor(rule),
                    mode = ruleMode.Mode
                });
            });

            field.rules = ruleOptions.ToArray();

            options._fields.Add(field);
        }
Exemple #5
0
 private static void ExpectValidatorType <TValidator, TValidated>(IValidationNode <Person, TValidated> node)
 {
     node.Expect(n => n.AddValidator(null)).Constraints(Iz.TypeOf <TValidator>()).Return(null);
 }
Exemple #6
0
 protected override void PerTestSetUp()
 {
     stringNode = CreateMock <IValidationNode <Person, string> >();
     itemsNode  = CreateMock <IValidationNode <Person, IList <Item> > >();
 }
Exemple #7
0
 public static ValidatorNode <TInstance, string> Matches <TInstance>(this IValidationNode <TInstance, string> node, string pattern)
 {
     return(node.AddValidator(new RegExValidator <TInstance>(pattern)));
 }
Exemple #8
0
 public static ValidatorNode <TInstance, TValue> Custom <TInstance, TValue>(this IValidationNode <TInstance, TValue> node, Predicate <TValue> validationFunction)
 {
     return(node.AddValidator(new CustomValidator <TInstance, TValue>(validationFunction)));
 }
Exemple #9
0
 public static ValidatorNode <TInstance, TValue> Null <TInstance, TValue>(this IValidationNode <TInstance, TValue> node) where TValue : class
 {
     return(node.AddValidator(new NullValidator <TInstance, TValue>()));
 }
Exemple #10
0
 public static ValidatorNode <TInstance, TValue> LowerThan <TInstance, TValue>(this IValidationNode <TInstance, TValue> node, TValue valueToCompare) where TValue : IComparable <TValue>
 {
     return(node.AddValidator(new LowerThanValidator <TInstance, TValue>(valueToCompare)));
 }
Exemple #11
0
 public static ValidatorNode <TInstance, TValue> LowerOrEqualTo <TInstance, TValue>(this IValidationNode <TInstance, TValue> node, Expression <Func <TInstance, TValue> > valueToCompare) where TValue : IComparable <TValue>
 {
     return(node.AddValidator(new LowerOrEqualToValidator <TInstance, TValue>(valueToCompare)));
 }
Exemple #12
0
 public static ValidatorNode <TInstance, TValue> GreaterOrEqualTo <TInstance, TValue>(this IValidationNode <TInstance, TValue> node, TValue valueToCompare) where TValue : IComparable <TValue>
 {
     return(node.AddValidator(new GreaterOrEqualToValidator <TInstance, TValue>(valueToCompare)));
 }
Exemple #13
0
 public static ValidatorNode <TInstance, TValue> GreaterThan <TInstance, TValue>(this IValidationNode <TInstance, TValue> node, Expression <Func <TInstance, TValue> > valueToCompare) where TValue : IComparable <TValue>
 {
     return(node.AddValidator(new GreaterThanValidator <TInstance, TValue>(valueToCompare)));
 }
Exemple #14
0
 public static ValidatorNode <TInstance, string> Length <TInstance>(this IValidationNode <TInstance, string> node, Expression <Func <TInstance, int> > minLength, Expression <Func <TInstance, int> > maxLength)
 {
     return(node.AddValidator(new LengthValidator <TInstance>(minLength, maxLength)));
 }
Exemple #15
0
 public static ValidatorNode <TInstance, IList <TItem> > Empty <TInstance, TItem>(this IValidationNode <TInstance, IList <TItem> > node)
 {
     return(node.AddValidator(new ListEmptyValidator <TInstance, TItem>()));
 }
Exemple #16
0
 public static ValidatorNode <TInstance, string> Empty <TInstance>(this IValidationNode <TInstance, string> node)
 {
     return(node.AddValidator(new StringEmptyValidator <TInstance>()));
 }