예제 #1
0
        public void AddValidationRule <TValidationRule>(AdditionalProperties additionalProperties) where TValidationRule : IValidationRule <CanBeAnyViewModel>
        {
            var validationRuleType = typeof(TValidationRule).GetGenericTypeDefinition();

            if (!_validationRules.ContainsKey(validationRuleType))
            {
                _validationRules.Add(validationRuleType, additionalProperties);
            }
        }
 public ValidationRuleSetup(Type validationRuleType, AdditionalProperties additionalProperties)
 {
     AdditionalProperties = additionalProperties;
     ValidationRuleType = validationRuleType;
 }
예제 #3
0
 public ExtendedAdditionalPropertyExpression(AdditionalProperties additionalProperties)
 {
     _additionalProperties = additionalProperties;
 }
예제 #4
0
        public void Should_be_able_to_add_aditional_required_properties_to_validation_rule()
        {
            DefaultPropertyConvention defaultPropertyConvention = new DefaultPropertyConvention(x => x.Name.Contains("question"));

            var properties = new AdditionalProperties();
            var expression = new AdditionalPropertyExpression(properties);
            expression.NeedsAdditionalPropertyMatching(p => p.Name.Contains("answer"));
            expression.NeedsAdditionalPropertyMatching(p => !p.Name.Contains("question"));

            defaultPropertyConvention.AddValidationRule<IsRequired<CanBeAnyViewModel>>(properties);

            defaultPropertyConvention.GetValidationRules().Count().ShouldEqual(1);
            defaultPropertyConvention.GetAdditionalPropertiesForRule(defaultPropertyConvention.GetValidationRules().First()).Count().ShouldEqual(2);
        }
 public AdditionalPropertyExpression(AdditionalProperties additionalProperties)
 {
     _additionalProperties = additionalProperties;
 }