public virtual IRuleMessageBuilder <T, TProperty> SetValidate(IFluentRuleBuilder <T, TProperty> builder) { ParamHelper.CheckParamNull(builder, "builder", "Can't be null"); var build = builder as IRuleBuilder <T, TProperty>; build.ValidateAsyncFunc = async(context, name, error) => { var value = build.ValueGetter(context.ValidateObject); var result = Validation.Provider.GetService <IValidateResult>(); return(await ValidateAsync(result, value, name, error)); }; return(build as IRuleMessageBuilder <T, TProperty>); }
public static IFluentRuleBuilder <TProperty, TProperty> Each <T, TProperty>(this IFluentRuleBuilder <T, IEnumerable <TProperty> > builder) { var checker = builder.Validation.Provider.GetService <EachChecker <T, TProperty> >(); checker.SetValidate(builder); var a = builder.Validation.Provider.GetService <CollectionRuleBuilder <T, TProperty> >(); a.EachChecker = checker; var b = builder.Validation.Provider.GetService <IRuleBuilder <TProperty, TProperty> >(); b.SetValueGetter(i => i); a.ElementRuleBuilderList.Add(b); var build = builder as IRuleValueGetterBuilder <T, IEnumerable <TProperty> >; build.NextRuleBuilderList.Add(a); return(b); }
public static IRuleMessageBuilder <T, string> Regex <T>(this IFluentRuleBuilder <T, string> builder, string pattern, RegexOptions options) { return(new RegexChecker <T>(pattern, options, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, string> Length <T>(this IFluentRuleBuilder <T, string> builder, int min, int max) { return(new LengthChecker <T>(min, max, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, TProperty> NotNull <T, TProperty>(this IFluentRuleBuilder <T, TProperty> builder) { return(new NotNullChecker <T, TProperty>(builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, DateTime> LessThanOrEqual <T>(this IFluentRuleBuilder <T, DateTime> builder, DateTime value) { return(new LessThanOrEqualDateTimeChecker <T>(value, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, string> NotRegex <T>(this IFluentRuleBuilder <T, string> builder, Regex regex) { return(new NotRegexChecker <T>(regex, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, decimal> LessThanOrEqual <T>(this IFluentRuleBuilder <T, decimal> builder, decimal value) { return(new LessThanOrEqualDecimalChecker <T>(value, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, decimal> GreaterThan <T>(this IFluentRuleBuilder <T, decimal> builder, decimal value) { return(new GreaterThanDecimalChecker <T>(value, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, float> GreaterThan <T>(this IFluentRuleBuilder <T, float> builder, float value) { return(new GreaterThanFloatChecker <T>(value, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, long> Between <T>(this IFluentRuleBuilder <T, long> builder, long min, long max) { return(new BetweenLongChecker <T>(min, max, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, decimal> Between <T>(this IFluentRuleBuilder <T, decimal> builder, decimal min, decimal max) { return(new BetweenDecimalChecker <T>(min, max, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, double> Between <T>(this IFluentRuleBuilder <T, double> builder, double min, double max) { return(new BetweenDoubleChecker <T>(min, max, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, int> Between <T>(this IFluentRuleBuilder <T, int> builder, int min, int max) { return(new BetweenIntChecker <T>(min, max, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, string> NotNullOrWhiteSpace <T>(this IFluentRuleBuilder <T, string> builder) { return(new NotNullOrWhiteSpaceChecker <T>(builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, float> LessThanOrEqual <T>(this IFluentRuleBuilder <T, float> builder, float value) { return(new LessThanOrEqualFloatChecker <T>(value, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, TProperty?> NotNull <T, TProperty>(this IFluentRuleBuilder <T, TProperty?> builder) where TProperty : struct { return(new NullableNotNullChecker <T, TProperty>(builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, long> GreaterThan <T>(this IFluentRuleBuilder <T, long> builder, long value) { return(new GreaterThanLongChecker <T>(value, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, long> LessThanOrEqual <T>(this IFluentRuleBuilder <T, long> builder, long value) { return(new LessThanOrEqualLongChecker <T>(value, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, TProperty> In <T, TProperty>(this IFluentRuleBuilder <T, TProperty> builder, IEnumerable <TProperty> value) { var a = new List <string>(); return(new InListChecker <T, TProperty>(value, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, DateTime> GreaterThan <T>(this IFluentRuleBuilder <T, DateTime> builder, DateTime value) { return(new GreaterThanDateTimeChecker <T>(value, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, TProperty> CustomCheck <T, TProperty>(this IFluentRuleBuilder <T, TProperty> builder, Func <TProperty, IEnumerable <ValidateFailure> > func) { return(new CustomChecker <T, TProperty>(func, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, TProperty> MustNot <T, TProperty>(this IFluentRuleBuilder <T, TProperty> builder, Func <TProperty, bool> func) { return(new MustNotChecker <T, TProperty>(func, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, TProperty> NotNullOrEmpty <T, TProperty>(this IFluentRuleBuilder <T, TProperty> builder) where TProperty : IEnumerable { return(new NotNullOrEmptyListChecker <T, TProperty>(builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, TProperty> Equal <T, TProperty>(this IFluentRuleBuilder <T, TProperty> builder, TProperty value) { return(new EqualChecker <T, TProperty>(value, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, double> GreaterThanOrEqual <T>(this IFluentRuleBuilder <T, double> builder, double value) { return(new GreaterThanOrEqualDoubleChecker <T>(value, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, string> LengthLessThanOrEqual <T>(this IFluentRuleBuilder <T, string> builder, int length) { return(new LengthChecker <T>(-1, length, builder.Validation).SetValidate(builder)); }
public static IRuleMessageBuilder <T, int> LessThan <T>(this IFluentRuleBuilder <T, int> builder, int value) { return(new LessThanIntChecker <T>(value, builder.Validation).SetValidate(builder)); }
public override IRuleMessageBuilder <T, IEnumerable <TProperty> > SetValidate(IFluentRuleBuilder <T, IEnumerable <TProperty> > builder) { ParamHelper.CheckParamNull(builder, "builder", "Can't be null"); var build = builder as IRuleValueGetterBuilder <T, IEnumerable <TProperty> >; build.ValidateAsyncFunc = async(context, name, error) => { ValidateRule.ValueName = name; var value = build.ValueGetter(context.ValidateObject); var result = Validation.Provider.GetService <IValidateResult>(); var ct = Validation.CreateContext(value, context.Option, context.RuleSetList.ToArray()); return(await ValidateRule.ValidateAsync(ct)); }; return(build as IRuleMessageBuilder <T, IEnumerable <TProperty> >); }
public static IRuleMessageBuilder <T, double> LessThan <T>(this IFluentRuleBuilder <T, double> builder, double value) { return(new LessThanDoubleChecker <T>(value, builder.Validation).SetValidate(builder)); }