public static ValidationRule <T> Collection <T, P>(this ValidatorBuilderContext <T> context, Func <T, IEnumerable <P> > getCollection, Func <ValidatorBuilderContext <P>, ValidationRule <P> > creator) { if (creator == null) { throw new ArgumentNullException(nameof(creator)); } return(new CollectionValidationRule <T, P>(getCollection, creator(ValidatorBuilderContext <P> .Context))); }
public static ValidationRule <T> Executive <T>(this ValidatorBuilderContext <T> context, Func <ValidatorBuilderContext <T>, ValidationRule <T> > underlyingRule) { return(new ExecutiveRule <T>(underlyingRule(ValidatorBuilderContext <T> .Context))); }
public static ValidationRule <T> Checkpoint <T>(this ValidatorBuilderContext <T> context, Func <ValidatorBuilderContext <T>, ValidationRule <T> > primary, Func <ValidatorBuilderContext <T>, ValidationRule <T> > secondary) { return(new CheckpointRule <T>(primary(ValidatorBuilderContext <T> .Context), secondary(ValidatorBuilderContext <T> .Context))); }
public static ValidationRule <T> Composite <T>(this ValidatorBuilderContext <T> context, params Func <ValidatorBuilderContext <T>, ValidationRule <T> >[] creators) { var rules = (creators ?? Enumerable.Empty <Func <ValidatorBuilderContext <T>, ValidationRule <T> > >()).Select(c => c(ValidatorBuilderContext <T> .Context)); return(new CompositeValidationRule <T>(rules.ToArray())); }
public static ValidationRule <T> Custom <T>(this ValidatorBuilderContext <T> context, Func <T, bool> checkData, string message, string contextKey = null) { return(new CustomValidationRule <T>(checkData, message, contextKey)); }