/// <summary> /// /// </summary> /// <param name="type"></param> /// <param name="validatedElement"></param> /// <returns></returns> public virtual CompositeValidatorBuilder GetTypeValidatorBuilder(Type type, IValidatedElement validatedElement) { if (null == type) throw new ArgumentNullException("type"); return new CompositeValidatorBuilder(validatedElement); }
public void Setup() { this.validatedElement = new ValidationAttributeValidatedElement( StaticReflection.GetPropertyInfo((TypeWithValidationAttributes t) => t.PropertyWithSingleValidationAttribute)); }
public override CompositeValidatorBuilder GetTypeValidatorBuilder(Type type, IValidatedElement validatedElement) { CompositeValidatorBuilder validatorBuilder = base.GetTypeValidatorBuilder(type, validatedElement); this.requestedTypes.Add(type.Name, validatorBuilder); return validatorBuilder; }
protected Validator CreateValidatorForValidatedElement(IValidatedElement validatedElement, CompositeValidatorBuilderCreator validatorBuilderCreator) { IEnumerator<IValidatorDescriptor> validatorDescriptorsEnumerator = validatedElement.GetValidatorDescriptors().GetEnumerator(); if ( !validatorDescriptorsEnumerator.MoveNext()) { return null; } CompositeValidatorBuilder validatorBuilder = validatorBuilderCreator(validatedElement); do { if (validatorDescriptorsEnumerator.Current == null) { continue; } Validator validator = validatorDescriptorsEnumerator.Current.CreateValidator(validatedElement.TargetType, validatedElement.MemberInfo.ReflectedType, this.memberAccessValidatorFactory.MemberValueAccessBuilder); validatorBuilder.AddValueValidator(validator); } while (validatorDescriptorsEnumerator.MoveNext()); return validatorBuilder.GetValidator(); }
public void Setup() { this.validatedElement = new ValidationAttributeValidatedElement( StaticReflection.GetFieldInfo((TypeWithValidationAttributes t) => t.FieldWithMultipleValidationAttributes)); }
/// <summary> /// /// </summary> /// <param name="validatedElement"></param> /// <param name="validatorBuilderCreator"></param> /// <returns></returns> protected Validator CreateValidatorForValidatedElement( IValidatedElement validatedElement, CompositeValidatorBuilderCreator validatorBuilderCreator) { IEnumerator <IValidatorDescriptor> validatorDescriptorsEnumerator = validatedElement.GetValidatorDescriptors().GetEnumerator(); if (!validatorDescriptorsEnumerator.MoveNext()) { return(null); } CompositeValidatorBuilder validatorBuilder = validatorBuilderCreator(validatedElement); do { Validator validator = validatorDescriptorsEnumerator.Current .CreateValidator( validatedElement.TargetType, validatedElement.MemberInfo.ReflectedType, this.memberAccessValidatorFactory.MemberValueAccessBuilder, this.validatorFactory); validatorBuilder.AddValueValidator(validator); }while (validatorDescriptorsEnumerator.MoveNext()); return(validatorBuilder.GetValidator()); }
public override ValueAccessValidatorBuilder GetPropertyValueAccessValidatorBuilder(PropertyInfo propertyInfo, IValidatedElement validatedElement) { ValueAccessValidatorBuilder validatorBuilder = base.GetPropertyValueAccessValidatorBuilder(propertyInfo, validatedElement); this.requestedMembers.Add(propertyInfo.DeclaringType.Name + "." + propertyInfo.Name, validatorBuilder); return validatorBuilder; }
public override ValueAccessValidatorBuilder GetMethodValueAccessValidatorBuilder(MethodInfo methodInfo, IValidatedElement validatedElement) { ValueAccessValidatorBuilder validatorBuilder = base.GetMethodValueAccessValidatorBuilder(methodInfo, validatedElement); this.requestedMembers.Add(methodInfo.DeclaringType.Name + "." + methodInfo.Name, validatorBuilder); return validatorBuilder; }
public override CompositeValidatorBuilder GetTypeValidatorBuilder(Type type, IValidatedElement validatedElement) { CompositeValidatorBuilder validatorBuilder = base.GetTypeValidatorBuilder(type, validatedElement); this.requestedTypes.Add(type.Name, validatorBuilder); return(validatorBuilder); }
public virtual CompositeValidatorBuilder GetTypeValidatorBuilder(Type type, IValidatedElement validatedElement) { if (type == null) { throw new ArgumentNullException("type"); } return(new CompositeValidatorBuilder(validatedElement)); }
protected CompositeValidatorBuilder GetCompositeValidatorBuilderForType(IValidatedElement validatedElement) { if (validatedElement == null) { throw new ArgumentNullException("validatedElement"); } return(_memberAccessValidatorFactory.GetTypeValidatorBuilder(validatedElement.MemberInfo as Type, validatedElement)); }
/// <summary> /// /// </summary> /// <param name="validatedElement"></param> /// <returns></returns> protected CompositeValidatorBuilder GetCompositeValidatorBuilderForMethod(IValidatedElement validatedElement) { if (validatedElement == null) { throw new ArgumentNullException("validatedElement"); } return(this.memberAccessValidatorFactory.GetMethodValueAccessValidatorBuilder(validatedElement.MemberInfo as MethodInfo, validatedElement)); }
public ValueAccessValidatorBuilder(ValueAccess valueAccess, IValidatedElement validatedElement) : base(validatedElement) { this.valueAccess = valueAccess; }
public virtual ValueAccessValidatorBuilder GetPropertyValueAccessValidatorBuilder(PropertyInfo propertyInfo, IValidatedElement validatedElement) { return(new ValueAccessValidatorBuilder(this.valueAccessBuilder.GetPropertyValueAccess(propertyInfo), validatedElement)); }
/// <summary> /// Returns an object that will build a ValueAccessValidator for <paramref name="propertyInfo"/> with the supplied /// validation modifiers. /// </summary> /// <returns>A <see cref="ValueAccessValidatorBuilder"/> for the supplied parameters.</returns> /// <exception cref="ArgumentNullException">when <paramref name="propertyInfo"/> is <see langword="null"/>.</exception> public virtual ValueAccessValidatorBuilder GetPropertyValueAccessValidatorBuilder(PropertyInfo propertyInfo, IValidatedElement validatedElement) { return new ValueAccessValidatorBuilder(this.valueAccessBuilder.GetPropertyValueAccess(propertyInfo), validatedElement); }
/// <summary> /// Initializes a new instance of the <see cref="CompositeValidatorBuilder"/> class. /// </summary> /// <param name="validatedElement">The element for which a composite validator will be created.</param> public CompositeValidatorBuilder(IValidatedElement validatedElement) { this.validatedElement = validatedElement; this.valueValidators = new List <Validator>(); }
protected CompositeValidatorBuilder GetCompositeValidatorBuilderForType(IValidatedElement validatedElement) { return(this.memberAccessValidatorFactory.GetTypeValidatorBuilder(validatedElement.MemberInfo as Type, validatedElement)); }
protected CompositeValidatorBuilder GetCompositeValidatorBuilderForType(IValidatedElement validatedElement) { return this.memberAccessValidatorFactory.GetTypeValidatorBuilder(validatedElement.MemberInfo as Type, validatedElement); }
public override ValueAccessValidatorBuilder GetPropertyValueAccessValidatorBuilder(PropertyInfo propertyInfo, IValidatedElement validatedElement) { ValueAccessValidatorBuilder validatorBuilder = base.GetPropertyValueAccessValidatorBuilder(propertyInfo, validatedElement); this.requestedMembers.Add(propertyInfo.DeclaringType.Name + "." + propertyInfo.Name, validatorBuilder); return(validatorBuilder); }
/// <summary> /// Crée un validator de propriété. /// </summary> /// <param name="attribute">L'attribut de validation.</param> /// <param name="validatedElement">La propriété validée.</param> /// <param name="builder">Le constructeur de validation composite.</param> /// <param name="mainValidatorFactory">La brique à utiliser lors de la construction des validateurs imbriqués..</param> /// <returns>La validateur de propriété.</returns> protected Validator CreateValidatorForValidatedElement(IValidatorDescriptor attribute, IValidatedElement validatedElement, CompositeValidatorBuilder builder, ValidatorFactory mainValidatorFactory) { Validator valueValidator = attribute.CreateValidator(validatedElement.TargetType, validatedElement.MemberInfo.ReflectedType, new MemberAccessValidatorBuilderFactory().MemberValueAccessBuilder, mainValidatorFactory); builder.AddValueValidator(valueValidator); return(builder.GetValidator()); }
/// <summary> /// Returns an object that will build a ValueAccessValidator for <paramref name="fieldInfo"/> with the supplied /// validation modifiers. /// </summary> /// <returns>A <see cref="ValueAccessValidatorBuilder"/> for the supplied parameters.</returns> /// <exception cref="ArgumentNullException">when <paramref name="fieldInfo"/> is <see langword="null"/>.</exception> public virtual ValueAccessValidatorBuilder GetFieldValueAccessValidatorBuilder(FieldInfo fieldInfo, IValidatedElement validatedElement) { return new ValueAccessValidatorBuilder(this.valueAccessBuilder.GetFieldValueAccess(fieldInfo), validatedElement); }
public CompositeValidatorBuilder(IValidatedElement validatedElement) { this.validatedElement = validatedElement; this.valueValidators = new List<Validator>(); }
/// <summary> /// /// </summary> /// <param name="validatedElement"></param> /// <returns></returns> protected CompositeValidatorBuilder GetCompositeValidatorBuilderForType(IValidatedElement validatedElement) { if (validatedElement == null) throw new ArgumentNullException("validatedElement"); return this.memberAccessValidatorFactory.GetTypeValidatorBuilder(validatedElement.MemberInfo as Type, validatedElement); }
protected CompositeValidatorBuilder GetCompositeValidatorBuilderForMethod(IValidatedElement validatedElement) { return this.memberAccessValidatorFactory.GetMethodValueAccessValidatorBuilder(validatedElement.MemberInfo as MethodInfo, validatedElement); }
protected CompositeValidatorBuilder GetCompositeValidatorBuilderForProperty(IValidatedElement validatedElement) { return this.memberAccessValidatorFactory.GetPropertyValueAccessValidatorBuilder(validatedElement.MemberInfo as PropertyInfo, validatedElement); }
protected CompositeValidatorBuilder GetCompositeValidatorBuilderForProperty(IValidatedElement validatedElement) { return(this.memberAccessValidatorFactory.GetPropertyValueAccessValidatorBuilder(validatedElement.MemberInfo as PropertyInfo, validatedElement)); }
protected CompositeValidatorBuilder GetValueCompositeValidatorBuilderForProperty(IValidatedElement validatedElement) { return new CompositeValidatorBuilder(validatedElement); }
public virtual ValueAccessValidatorBuilder GetFieldValueAccessValidatorBuilder(FieldInfo fieldInfo, IValidatedElement validatedElement) { return(new ValueAccessValidatorBuilder(this.valueAccessBuilder.GetFieldValueAccess(fieldInfo), validatedElement)); }
/// <summary> /// /// </summary> /// <param name="valueAccess"></param> /// <param name="validatedElement"></param> public ValueAccessValidatorBuilder(ValueAccess valueAccess, IValidatedElement validatedElement) : base(validatedElement) { this.valueAccess = valueAccess; }
public virtual ValueAccessValidatorBuilder GetMethodValueAccessValidatorBuilder(MethodInfo methodInfo, IValidatedElement validatedElement) { return(new ValueAccessValidatorBuilder(this.valueAccessBuilder.GetMethodValueAccess(methodInfo), validatedElement)); }
public override ValueAccessValidatorBuilder GetMethodValueAccessValidatorBuilder(MethodInfo methodInfo, IValidatedElement validatedElement) { ValueAccessValidatorBuilder validatorBuilder = base.GetMethodValueAccessValidatorBuilder(methodInfo, validatedElement); this.requestedMembers.Add(methodInfo.DeclaringType.Name + "." + methodInfo.Name, validatorBuilder); return(validatorBuilder); }
/// <summary> /// Returns an object that will build a ValueAccessValidator for <paramref name="methodInfo"/> with the supplied /// validation modifiers. /// </summary> /// <returns>A <see cref="ValueAccessValidatorBuilder"/> for the supplied parameters.</returns> /// <exception cref="ArgumentNullException">when <paramref name="methodInfo"/> is <see langword="null"/>.</exception> /// <exception cref="ArgumentException">when <paramref name="methodInfo"/> returns <see langword="void"/>.</exception> /// <exception cref="ArgumentException">when <paramref name="methodInfo"/> has parameters.</exception> public virtual ValueAccessValidatorBuilder GetMethodValueAccessValidatorBuilder(MethodInfo methodInfo, IValidatedElement validatedElement) { return new ValueAccessValidatorBuilder(this.valueAccessBuilder.GetMethodValueAccess(methodInfo), validatedElement); }
/// <summary> /// /// </summary> /// <param name="validatedElement"></param> /// <returns></returns> protected CompositeValidatorBuilder GetValueCompositeValidatorBuilderForProperty(IValidatedElement validatedElement) { return(new CompositeValidatorBuilder(validatedElement)); }
protected CompositeValidatorBuilder GetCompositeValidatorBuilderForMethod(IValidatedElement validatedElement) { return(this.memberAccessValidatorFactory.GetMethodValueAccessValidatorBuilder(validatedElement.MemberInfo as MethodInfo, validatedElement)); }