Example #1
0
        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);
        }
Example #2
0
 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);
 }
Example #3
0
 public Predicate(string validationMessage, ClientValidationRule clientValidationRule)
     : this(validationMessage)
 {
     this.ClienteValidationRule = clientValidationRule;
 }
Example #4
0
 public Predicate(Func <TProperty, bool> predicate, string validationMessage, ClientValidationRule clientValidationRule)
     : base(validationMessage, clientValidationRule)
 {
     this.EvalPredicate = predicate;
 }