private static IEnumerable <IValidatorsFactory> Factories(IValidatorsFactory?factory) { var result = Enumerable.Repeat(Factory, 1); if (factory != null) { result = result.Union(Enumerable.Repeat(factory, 1)); } return(result); }
public static Task ValidateAsync(this IField field, object?value, IList <string> errors, Schema?schema = null, ValidationMode mode = ValidationMode.Default, ValidationUpdater?updater = null, IValidatorsFactory?factory = null, ValidationAction action = ValidationAction.Upsert) { var context = CreateContext(schema, mode, updater, action); var validator = new ValidatorBuilder(factory, context).ValueValidator(field); return(validator.ValidateAsync(value, context, CreateFormatter(errors))); }
public static Task ValidateAsync(this IField field, object?value, IList <string> errors, Schema?schema = null, ValidationMode mode = ValidationMode.Default, ValidationUpdater?updater = null, IValidatorsFactory?factory = null) { var context = CreateContext(schema, mode, updater); var validators = Factories(factory).SelectMany(x => x.CreateValueValidators(context, field, null !)).ToArray(); return(new FieldValidator(validators, field) .ValidateAsync(value, context, CreateFormatter(errors))); }
public static async Task ValidateAsync(this NamedContentData data, PartitionResolver partitionResolver, IList <ValidationError> errors, Schema?schema = null, ValidationMode mode = ValidationMode.Default, ValidationUpdater?updater = null, IValidatorsFactory?factory = null) { var context = CreateContext(schema, mode, updater); var validator = new ContentValidator(partitionResolver, context, Factories(factory), Log); await validator.ValidateInputAsync(data); foreach (var error in validator.Errors) { errors.Add(error); } }
public static async Task ValidateAsync(this ContentData data, PartitionResolver partitionResolver, IList <ValidationError> errors, Schema?schema = null, ValidationMode mode = ValidationMode.Default, ValidationUpdater?updater = null, IValidatorsFactory?factory = null, ValidationAction action = ValidationAction.Upsert) { var context = CreateContext(schema, mode, updater, action); var validator = new ValidatorBuilder(factory, context).ContentValidator(partitionResolver); await validator.ValidateInputAsync(data); foreach (var error in validator.Errors) { errors.Add(error); } }
public ValidatorBuilder(IValidatorsFactory?validatorFactory, ValidationContext validationContext) { this.validatorFactory = validatorFactory; this.validationContext = validationContext; }