Пример #1
0
        public static IRuleMessageBuilder <T, TProperty> When <T, TProperty>(this IRuleMessageBuilder <T, TProperty> builder, Func <TProperty, bool> func)
        {
            ParamHelper.CheckParamNull(func, "func", "Can't be null");
            var ruleBuilder = builder as IRuleBuilder <T, TProperty>;

            ruleBuilder.Condition = (context) =>
            {
                var value = ruleBuilder.ValueGetter(context.ValidateObject);
                return(func(value));
            };
            return(builder);
        }
Пример #2
0
        public static IRuleMessageBuilder <T, DateTime> LessThan <T>(this IRuleMessageBuilder <T, DateTime> builder, DateTime value)
        {
            var ruleBuilder = builder as IRuleBuilder <T, DateTime>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).LessThan(value));
        }
Пример #3
0
        public static IRuleMessageBuilder <T, decimal> GreaterThanOrEqual <T>(this IRuleMessageBuilder <T, decimal> builder, decimal value)
        {
            var ruleBuilder = builder as IRuleBuilder <T, decimal>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).GreaterThanOrEqual(value));
        }
Пример #4
0
        public static IRuleMessageBuilder <T, long> GreaterThan <T>(this IRuleMessageBuilder <T, long> builder, long value)
        {
            var ruleBuilder = builder as IRuleBuilder <T, long>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).GreaterThan(value));
        }
Пример #5
0
        public static IRuleMessageBuilder <T, long> Between <T>(this IRuleMessageBuilder <T, long> builder, long min, long max)
        {
            var ruleBuilder = builder as IRuleBuilder <T, long>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).Between(min, max));
        }
Пример #6
0
        public static IRuleMessageBuilder <T, string> Email <T>(this IRuleMessageBuilder <T, string> builder)
        {
            var ruleBuilder = builder as IRuleBuilder <T, string>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).Email());
        }
Пример #7
0
 public static IRuleMessageBuilder <T, TProperty> OverrideName <T, TProperty>(this IRuleMessageBuilder <T, TProperty> builder, string name)
 {
     (builder as IValidateRuleBuilder).ValueName = name;
     return(builder);
 }
Пример #8
0
        public static IRuleMessageBuilder <T, string> NotRegex <T>(this IRuleMessageBuilder <T, string> builder, string pattern, RegexOptions options)
        {
            var ruleBuilder = builder as IRuleBuilder <T, string>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).NotRegex(pattern, options));
        }
Пример #9
0
        public static IRuleMessageBuilder <T, string> LengthLessThanOrEqual <T>(this IRuleMessageBuilder <T, string> builder, int length)
        {
            var ruleBuilder = builder as IRuleBuilder <T, string>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).Length(-1, length));
        }
Пример #10
0
        public static IRuleMessageBuilder <T, string> Length <T>(this IRuleMessageBuilder <T, string> builder, int min, int max)
        {
            var ruleBuilder = builder as IRuleBuilder <T, string>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).Length(min, max));
        }
Пример #11
0
        public static IRuleMessageBuilder <T, TProperty> MustNot <T, TProperty>(this IRuleMessageBuilder <T, TProperty> builder, Func <TProperty, bool> func)
        {
            var ruleBuilder = builder as IRuleBuilder <T, TProperty>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).MustNot(func));
        }
Пример #12
0
        public static IRuleMessageBuilder <T, TProperty> CustomCheck <T, TProperty>(this IRuleMessageBuilder <T, TProperty> builder, Func <TProperty, IEnumerable <ValidateFailure> > func)
        {
            var ruleBuilder = builder as IRuleBuilder <T, TProperty>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).CustomCheck(func));
        }
Пример #13
0
        public static IRuleMessageBuilder <T, TProperty> In <T, TProperty>(this IRuleMessageBuilder <T, TProperty> builder, IEnumerable <TProperty> value)
        {
            var ruleBuilder = builder as IRuleBuilder <T, TProperty>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).In(value));
        }
Пример #14
0
 public static IRuleMessageBuilder <T, TProperty> OverrideError <T, TProperty>(this IRuleMessageBuilder <T, TProperty> builder, string error)
 {
     (builder as IValidateRuleBuilder).Error = error;
     return(builder);
 }
Пример #15
0
        public static IRuleMessageBuilder <T, decimal> LessThan <T>(this IRuleMessageBuilder <T, decimal> builder, decimal value)
        {
            var ruleBuilder = builder as IRuleBuilder <T, decimal>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).LessThan(value));
        }
Пример #16
0
        public static IRuleMessageBuilder <T, long> LessThanOrEqual <T>(this IRuleMessageBuilder <T, long> builder, long value)
        {
            var ruleBuilder = builder as IRuleBuilder <T, long>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).LessThanOrEqual(value));
        }
Пример #17
0
        public static IRuleMessageBuilder <T, TProperty> Equal <T, TProperty>(this IRuleMessageBuilder <T, TProperty> builder, TProperty value)
        {
            var ruleBuilder = builder as IRuleBuilder <T, TProperty>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).Equal(value));
        }
Пример #18
0
        public static IRuleMessageBuilder <T, string> NotRegex <T>(this IRuleMessageBuilder <T, string> builder, Regex regex)
        {
            var ruleBuilder = builder as IRuleBuilder <T, string>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).NotRegex(regex));
        }
Пример #19
0
        public static IRuleMessageBuilder <T, string> Regex <T>(this IRuleMessageBuilder <T, string> builder, string pattern)
        {
            var ruleBuilder = builder as IRuleBuilder <T, string>;

            return(ruleBuilder.ThenRuleFor(ruleBuilder.ValueExpression).Regex(pattern));
        }