/// <summary> /// Initializes a new instance of the <see cref="EntityValidationRuleBuilder{TEntity, TProperty}"/> class. /// </summary> /// <param name="entityValidatorBase">The entity validator base.</param> /// <param name="propertyDisplayNameResolver">The property display name resolver.</param> /// <param name="propertyExpression">The property expression.</param> /// <param name="ruleSetName">The rule set name.</param> /// <exception cref="System.ArgumentNullException">propertyExpression</exception> public EntityValidationRuleBuilder(EntityValidatorBase <TEntity> entityValidatorBase, IPropertyDisplayNameResolver propertyDisplayNameResolver, Expression <Func <TEntity, TProperty> > propertyExpression, string ruleSetName = "") { if (entityValidatorBase == null) { throw new ArgumentNullException("entityValidatorBase"); } if (propertyExpression == null) { throw new ArgumentNullException("propertyExpression"); } if (propertyDisplayNameResolver == null) { throw new ArgumentNullException("propertyDisplayNameResolver"); } if (ruleSetName == null) { throw new ArgumentNullException("ruleSetName"); } m_EntityValidatorBase = entityValidatorBase; m_PropertyDisplayNameResolver = propertyDisplayNameResolver; m_PropertyExpression = propertyExpression; m_RuleSetName = ruleSetName; m_Validators = new List <IEntityPropertyValidator>(); }
/// <summary> /// Initializes a new instance of the <see cref="EntityPropertyValidationRule{TEntity, TProperty}"/> class. /// </summary> /// <param name="validator">The validator.</param> /// <param name="propertyDisplayNameResolver">The property display name resolver.</param> /// <param name="propertyExpression">The property expression.</param> /// <param name="specification">The specification.</param> /// <param name="message">The message.</param> public EntityPropertyValidationRule(IEntityPropertyValidator validator, IPropertyDisplayNameResolver propertyDisplayNameResolver, Expression <Func <TEntity, TProperty> > propertyExpression, ISpecification <TEntity> specification = null, string message = null) { if (validator == null) { throw new ArgumentNullException("validator"); } if (propertyDisplayNameResolver == null) { throw new ArgumentNullException("propertyDisplayNameResolver"); } if (propertyExpression == null) { throw new ArgumentNullException("propertyExpression"); } m_Validator = validator; m_PropertyDisplayNameResolver = propertyDisplayNameResolver; m_Specification = specification; m_Message = message; m_PropertyFunc = propertyExpression.Compile(); m_MemberInfo = LinqUtils.GetMemberInfo(propertyExpression); }
public void PropertyDisplayNameResolver() { IPropertyDisplayNameResolver propertyDisplayNameResolver = Substitute.For <IPropertyDisplayNameResolver>(); ValidatorSettings.PropertyDisplayNameResolver = propertyDisplayNameResolver; Assert.AreSame(propertyDisplayNameResolver, ValidatorSettings.PropertyDisplayNameResolver); }
/// <summary> /// Initializes a new instance of the <see cref="EntityValidationRuleSetBuilder{TEntity}"/> class. /// </summary> /// <param name="propertyDisplayNameResolver">The property display name resolver.</param> /// <param name="entityValidator">The entity validator.</param> /// <param name="ruleSetName">The rule set name.</param> public EntityValidationRuleSetBuilder(IPropertyDisplayNameResolver propertyDisplayNameResolver, EntityValidatorBase <TEntity> entityValidator, string ruleSetName) { if (propertyDisplayNameResolver == null) { throw new ArgumentNullException("propertyDisplayNameResolver"); } if (entityValidator == null) { throw new ArgumentNullException("entityValidator"); } if (ruleSetName == null) { throw new ArgumentNullException("ruleSetName"); } m_EntityValidator = entityValidator; m_RuleSetName = ruleSetName; m_PropertyDisplayNameResolver = propertyDisplayNameResolver; }
/// <summary> /// Initializes a new instance of the <see cref="EntityValidatorBase{TEntity}"/> class. /// </summary> /// <param name="propertyDisplayNameResolver">The property display name resolver.</param> protected EntityValidatorBase(IPropertyDisplayNameResolver propertyDisplayNameResolver) { m_EntityValidationRules = new SortedList <string, IList <IEntityValidationRule <TEntity> > >(); m_PropertyDisplayNameResolver = propertyDisplayNameResolver ?? ValidatorSettings.PropertyDisplayNameResolver; }