Exemple #1
0
        public static IValidate <T> GetValidate(IValidateAttribute iValidateAttribute, PropertyInfo pi)
        {
            RangeValidateAttribute cva = (RangeValidateAttribute)iValidateAttribute;

            if (cva != null)
            {
                return(new RangeValidator <T>(cva.MinValue, cva.MaxValue, pi.Name, cva.ErrorMessage));
            }
            else
            {
                return(null);
            }
        }
        public static IValidate <T> GetValidate(IValidateAttribute iValidateAttribute, PropertyInfo pi)
        {
            ConditionValidateAttribute cva = (ConditionValidateAttribute)iValidateAttribute;

            if (cva != null)
            {
                return(new ConditionValidator <T>(cva.Values, cva.Value, pi.Name, cva.ConditionOperator, cva.ErrorMessage));
            }
            else
            {
                return(null);
            }
        }
Exemple #3
0
        public static IValidate <T> GetValidate(IValidateAttribute iValidateAttribute, PropertyInfo pi)
        {
            LengthValidateAttribute cva = (LengthValidateAttribute)iValidateAttribute;

            if (cva != null)
            {
                return(new LengthValidator <T>(cva.MinLength, cva.MaxLength, pi.Name, cva.ErrorMessage));
            }
            else
            {
                return(null);
            }
        }
        public static IValidate <T> GetValidate(IValidateAttribute iValidateAttribute, PropertyInfo pi)
        {
            RequiredValidateAttribute cva = (RequiredValidateAttribute)iValidateAttribute;

            if (cva != null)
            {
                return(new RequiredValidator <T>(pi.Name, cva.ErrorMessage));
            }
            else
            {
                return(null);
            }
        }
Exemple #5
0
        public static void RegisterValidateType <T>()
        {
            foreach (PropertyInfo pi in typeof(T).GetProperties())
            {
                foreach (object objCustomAttr in pi.GetCustomAttributes(typeof(IValidateAttribute), true))
                {
                    IValidateAttribute iValidateAttribute = (IValidateAttribute)(objCustomAttr);

                    if (iValidateAttribute is ConditionValidateAttribute)
                    {
                        IValidate <T> iTargetValidate = ConditionValidator <T> .GetValidate(iValidateAttribute, pi);

                        RegisterValidate <T>(iTargetValidate);
                        continue;
                    }

                    if (iValidateAttribute is LengthValidateAttribute)
                    {
                        IValidate <T> iTargetValidate = LengthValidator <T> .GetValidate(iValidateAttribute, pi);

                        RegisterValidate <T>(iTargetValidate);
                        continue;
                    }

                    if (iValidateAttribute is RangeValidateAttribute)
                    {
                        IValidate <T> iTargetValidate = RangeValidator <T> .GetValidate(iValidateAttribute, pi);

                        RegisterValidate <T>(iTargetValidate);
                        continue;
                    }

                    if (iValidateAttribute is RegexValidateAttribute)
                    {
                        IValidate <T> iTargetValidate = RegexValidator <T> .GetValidate(iValidateAttribute, pi);

                        RegisterValidate <T>(iTargetValidate);
                        continue;
                    }

                    if (iValidateAttribute is RequiredValidateAttribute)
                    {
                        IValidate <T> iTargetValidate = RequiredValidator <T> .GetValidate(iValidateAttribute, pi);

                        RegisterValidate <T>(iTargetValidate);
                        continue;
                    }
                }
            }
        }
Exemple #6
0
        /// <summary>
        /// Gets the validation critera for property.
        /// </summary>
        /// <param name="propertyInfo">The property info.</param>
        /// <returns></returns>
        private static List <IValidateAttribute> GetValidationCriteraForProperty(ICustomAttributeProvider propertyInfo)
        {
            object[] attributes = propertyInfo.GetCustomAttributes(false);
            List <IValidateAttribute> fieldValidation = new List <IValidateAttribute>();

            for (int idx = 0; idx < attributes.Length; idx++)
            {
                Type type = attributes[idx].GetType().GetInterface("IValidateAttribute");

                if (type != null)
                {
                    IValidateAttribute validate = (IValidateAttribute)attributes[idx];
                    fieldValidation.Add(validate);
                }
            }

            return(fieldValidation);
        }