public Validator CreateValidatorForField(Type type, ValidatedFieldReference fieldReference) { if (fieldReference.Validators.Count == 0) { return(null); } FieldInfo fieldInfo = ValidationReflectionHelper.GetField(type, fieldReference.Name, false); if (fieldInfo == null) { return(null); } ConfigurationValidatedElement validatedElement = new ConfigurationValidatedElement(fieldReference, fieldInfo); return(CreateValidatorForValidatedElement(validatedElement, this.GetCompositeValidatorBuilderForField)); }
IEnumerable <IValidatedElement> IValidatedType.GetValidatedFields() { ConfigurationValidatedElement flyweight = new ConfigurationValidatedElement(); foreach (ValidatedFieldReference validatedMemberReference in this.ruleData.Fields) { if (validatedMemberReference.Validators.Count == 0) { continue; } FieldInfo fieldInfo = ValidationReflectionHelper.GetField(this.targetType, validatedMemberReference.Name, false); if (fieldInfo == null) { continue; } flyweight.UpdateFlyweight(validatedMemberReference, fieldInfo); yield return(flyweight); } }