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); } }
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); } }
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; } } } }
/// <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); }