public List <ClientValidationRule> GetClientValidationRules(Type type, string propertyName) { Verify.ArgumentNotNull(type, "type"); Verify.ArgumentNotNullOrEmpty(propertyName, "propertyName"); PropertyInfo propertyInfo = type.GetProperty(propertyName); Verify.IsNotNull(propertyInfo, "The property named '{0}' not found on the type '{1}'", propertyName, type); List <ValidatorAttribute> attributes = propertyInfo.GetCustomAttributesRecursively <ValidatorAttribute>().ToList(); var rules = new List <ClientValidationRule>(); foreach (ValidatorAttribute attribute in attributes) { string translatorName = ClientValidationRuleTranslatorRegistry.GetTranslatorName(attribute.GetType()); if (translatorName != null) { ClientValidationRule rule = ClientValidationRuleTranslatorPluginFacade.Translate(translatorName, attribute); rules.Add(rule); } } return(rules); }
public static Validator <T, TResult> IsSatisfied <T, TResult>(this Validator <T, TResult> validator, Func <TResult, bool> expression, string message, ClientValidationRule clientValidationRule) { validator.Assertion.Predicates.Add(new Predicate <TResult>(expression, message, clientValidationRule)); return(validator); }
public Predicate(string validationMessage, ClientValidationRule clientValidationRule) : this(validationMessage) { this.ClienteValidationRule = clientValidationRule; }
public Predicate(Func <TProperty, bool> predicate, string validationMessage, ClientValidationRule clientValidationRule) : base(validationMessage, clientValidationRule) { this.EvalPredicate = predicate; }