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; }
public ExtendedAdditionalPropertyExpression(AdditionalProperties additionalProperties) { _additionalProperties = additionalProperties; }
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; }