Example #1
0
        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);
            }
        }
Example #2
0
        /// <summary>
        /// This member supports the Enterprise Library infrastructure and is not intended to be used directly from your code.
        /// </summary>
        public Validator CreateValidatorForField(Type type, ValidatedFieldReference fieldReference)
        {
            if (fieldReference == null)
            {
                throw new ArgumentNullException("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));
        }