예제 #1
0
            private FieldValidationExpression register(IFieldValidationRule rule)
            {
                _lastRule = new RuleRegistrationExpression(a => rule, _accessor);
                _parent._rules.Add(_lastRule);

                return(this);
            }
        public void SetUp()
        {
            var condition = FieldRuleCondition.For <ConditionalFieldRuleTester>(x => x.Matches);

            theInnerRule       = MockRepository.GenerateMock <IFieldValidationRule>();
            theConditionalRule = new ConditionalFieldRule <ConditionalFieldRuleTester>(condition, theInnerRule);
        }
        public void SetUp()
        {
            var condition = FieldRuleCondition.For<ConditionalFieldRuleTester>(x => x.Matches);

            theInnerRule = MockRepository.GenerateMock<IFieldValidationRule>();
            theConditionalRule = new ConditionalFieldRule<ConditionalFieldRuleTester>(condition, theInnerRule);
        }
예제 #4
0
        public RemoteFieldRule RegisterRule(Accessor accessor, IFieldValidationRule rule)
        {
            var remote = RemoteFieldRule.For(accessor, rule);
            _rules[accessor].Fill(remote);

            return remote;
        }
예제 #5
0
        public RemoteFieldRule RegisterRule(Accessor accessor, IFieldValidationRule rule)
        {
            var remote = RemoteFieldRule.For(accessor, rule);

            _rules[accessor].Fill(remote);

            return(remote);
        }
        public static Notification ValidateProperty <T>(this IFieldValidationRule rule, T target,
                                                        Expression <Func <T, object> > property)
        {
            var notification = new Notification(typeof(T));
            var accessor     = property.ToAccessor();
            var context      = new ValidationContext(null, notification, target);

            rule.Validate(accessor, context);

            return(notification);
        }
        public void Modify(ElementRequest request, IFieldValidationRule rule)
        {
            var messages = request.CurrentTag.Data(LocalizationKey) as ElementLocalizationMessages;
            if (messages == null)
            {
                messages = new ElementLocalizationMessages();
                request.CurrentTag.Data(LocalizationKey, messages);
            }

            messages.Add(rule);
        }
        public void Modify(ElementRequest request, IFieldValidationRule rule)
        {
            var messages = request.CurrentTag.Data(LocalizationKey) as ElementLocalizationMessages;

            if (messages == null)
            {
                messages = new ElementLocalizationMessages();
                request.CurrentTag.Data(LocalizationKey, messages);
            }

            messages.Add(rule);
        }
 public bool Matches(IFieldValidationRule rule)
 {
     // TODO -- We might need to make this smarter
     return rule.Token != null && !rule.GetType().Closes(typeof(ConditionalFieldRule<>));
 }
예제 #10
0
 public bool Matches(IFieldValidationRule rule)
 {
     return(rule is IRemoteFieldValidationRule);
 }
 public bool Matches(IFieldValidationRule rule)
 {
     return(Rules.Contains(rule.GetType()));
 }
		public void Add(IFieldValidationRule rule)
		{
			var key = RuleAliases.AliasFor(rule);
			_messages.Fill(key, rule.Token.ToString());
		}
예제 #13
0
 public LambdaFieldValidationSource(IFieldValidationRule rule)
 {
     _ruleSource = prop => rule;
 }
예제 #14
0
 public static string AliasFor(IFieldValidationRule rule)
 {
     return(AliasFor(rule.GetType()));
 }
예제 #15
0
 public bool Matches(IFieldValidationRule rule)
 {
     return rule is IRemoteFieldValidationRule;
 }
예제 #16
0
 public bool IsRemote(IFieldValidationRule rule)
 {
     return _filters.Any(x => x.Matches(rule));
 }
예제 #17
0
 public static RemoteFieldRule For(Accessor accessor, IFieldValidationRule rule)
 {
     return new RemoteFieldRule(rule.GetType(), accessor);
 }
예제 #18
0
 public bool Matches(IFieldValidationRule rule)
 {
     return rule.GetType().HasAttribute<RemoteAttribute>();
 }
 public void AddRule(Accessor accessor, IFieldValidationRule rule)
 {
     _rules[accessor].Add(rule);
 }
 public bool Matches(IFieldValidationRule rule)
 {
     // TODO -- We might need to make this smarter
     return rule.Token != null && !rule.GetType().HasAttribute<IgnoreClientLocalizationAttribute>();
 }
예제 #21
0
 public bool Matches(IFieldValidationRule rule)
 {
     return(_filter(rule));
 }
예제 #22
0
 public static RemoteFieldRule For(Accessor accessor, IFieldValidationRule rule)
 {
     return(new RemoteFieldRule(rule, accessor));
 }
 private bool matches(IFieldValidationRule rule)
 {
     return theFilter.Matches(rule);
 }
예제 #24
0
 public void ModifyFor(IFieldValidationRule rule, ElementRequest request)
 {
     _strategies
     .Where(x => x.Matches(rule))
     .Each(x => x.Modify(request, rule));
 }
 public bool Matches(IFieldValidationRule rule)
 {
     // TODO -- We might need to make this smarter
     return(rule.Token != null && !rule.GetType().HasAttribute <IgnoreClientLocalizationAttribute>());
 }
예제 #26
0
 public void Register(Type type, Accessor accessor, IFieldValidationRule rule)
 {
     RulesFor(type).AddRule(accessor, rule);
 }
예제 #27
0
 public ConditionalFieldRule(Func <T, bool> condition, IFieldValidationRule inner)
 {
     _condition = condition;
     _inner     = inner;
 }
예제 #28
0
 public LambdaFieldValidationSource ApplyRule(IFieldValidationRule rule)
 {
     return(applyPolicy(new LambdaFieldValidationSource(rule)));
 }
예제 #29
0
 public bool Matches(IFieldValidationRule rule)
 {
     return _filter(rule);
 }
 public void Modify(ElementRequest request, IFieldValidationRule rule)
 {
     request.CurrentTag.Attr("required");
     request.CurrentTag.Attr("aria-required", true);
 }
 public bool Matches(IFieldValidationRule rule)
 {
     return(Classes.Has(rule.GetType()));
 }
        public void Modify(ElementRequest request, IFieldValidationRule rule)
        {
            var tag = request.CurrentTag;

            tag.AddClass(Classes[rule.GetType()]);
        }
예제 #33
0
 public ConditionalFieldRule(IFieldRuleCondition condition, IFieldValidationRule inner)
 {
     _condition = condition;
     _inner     = inner;
 }
 public void Add(IFieldValidationRule rule)
 {
     var key = Aliases[rule.GetType()];
     _messages.Fill(key, rule.Token.ToString());
 }
예제 #35
0
 public RemoteFieldRule(IFieldValidationRule rule, Accessor accessor)
 {
     _rule     = rule;
     _accessor = accessor;
 }
예제 #36
0
 public bool IsRemote(IFieldValidationRule rule)
 {
     return(_filters.Any(x => x.Matches(rule)));
 }
예제 #37
0
 public bool Matches(IFieldValidationRule rule)
 {
     return(rule.GetType().HasAttribute <RemoteAttribute>());
 }
예제 #38
0
 private bool matches(IFieldValidationRule rule)
 {
     return(theFilter.Matches(rule));
 }
        public void Add(IFieldValidationRule rule)
        {
            var key = RuleAliases.AliasFor(rule);

            _messages.Fill(key, rule.Token.ToString());
        }
예제 #40
0
 public IFieldValidationExpression Rule(IFieldValidationRule rule)
 {
     return(register(rule));
 }
예제 #41
0
 public void ModifyFor(IFieldValidationRule rule, ElementRequest request)
 {
     _strategies
         .Where(x => x.Matches(rule))
         .Each(x => x.Modify(request, rule));
 }