public Task Resolve( OpenApiSchema schema, SchemaFilterContext context, IValidationRule validationRule, IRuleComponent ruleComponent, IValidatorFactory validatorFactory, IEnumerable <IResolver> resolvers) { if (validationRule.HasConditions() || ruleComponent.HasConditions()) { return(Task.CompletedTask); } var schemaProperty = schema.Properties[validationRule.GetPropertyKey()]; var lengthValidator = (ILengthValidator)ruleComponent.Validator; if (lengthValidator.Max > 0) { schemaProperty.Maximum = lengthValidator.Max; } if (lengthValidator.Min > 0) { schemaProperty.Minimum = lengthValidator.Min; schemaProperty.Nullable = false; } return(Task.CompletedTask); }
public Task Resolve( OpenApiSchema schema, SchemaFilterContext context, IValidationRule validationRule, IRuleComponent ruleComponent, IValidatorFactory validatorFactory, IEnumerable <IResolver> resolvers) { if (validationRule.HasConditions() || ruleComponent.HasConditions()) { return(Task.CompletedTask); } if (schema.Required == null) { schema.Required = new SortedSet <string>(); } if (!schema.Required.Contains(validationRule.GetPropertyKey())) { schema.Required.Add(validationRule.GetPropertyKey()); schema.Properties[validationRule.GetPropertyKey()].Nullable = false; } return(Task.CompletedTask); }
public Task Resolve( OpenApiSchema schema, SchemaFilterContext context, IValidationRule validationRule, IRuleComponent ruleComponent, IValidatorFactory validatorFactory, IEnumerable <IResolver> resolvers) { if (validationRule.HasConditions() || ruleComponent.HasConditions()) { return(Task.CompletedTask); } var schemaProperty = schema.Properties[validationRule.GetPropertyKey()]; var betweenValidator = (IBetweenValidator)ruleComponent.Validator; if (betweenValidator.From.GetType().IsValueType&& betweenValidator.To.GetType().IsValueType) { schemaProperty.Maximum = betweenValidator.To.ToDecimal(); schemaProperty.Minimum = betweenValidator.From.ToDecimal(); if (betweenValidator.Name == "ExclusiveBetweenValidator") { schemaProperty.ExclusiveMaximum = true; schemaProperty.ExclusiveMinimum = true; } } return(Task.CompletedTask); }
public Task Resolve( OpenApiSchema schema, SchemaFilterContext context, IValidationRule validationRule, IRuleComponent ruleComponent, IValidatorFactory validatorFactory, IEnumerable <IResolver> resolvers) { if (validationRule.HasConditions() || ruleComponent.HasConditions()) { return(Task.CompletedTask); } var schemaProperty = schema.Properties[validationRule.GetPropertyKey()]; var comparisonValidator = (IComparisonValidator)ruleComponent.Validator; switch (comparisonValidator.Comparison) { case Comparison.Equal: schemaProperty.Maximum = comparisonValidator.ValueToCompare.ToDecimal(); schemaProperty.Minimum = comparisonValidator.ValueToCompare.ToDecimal(); break; case Comparison.GreaterThan: schemaProperty.Minimum = comparisonValidator.ValueToCompare.ToDecimal(); schemaProperty.ExclusiveMaximum = true; break; case Comparison.GreaterThanOrEqual: schemaProperty.Minimum = comparisonValidator.ValueToCompare.ToDecimal(); break; case Comparison.LessThan: schemaProperty.Minimum = comparisonValidator.ValueToCompare.ToDecimal(); schemaProperty.ExclusiveMinimum = true; break; case Comparison.LessThanOrEqual: schemaProperty.Minimum = comparisonValidator.ValueToCompare.ToDecimal(); break; } return(Task.CompletedTask); }
public Task Resolve(OpenApiSchema schema, SchemaFilterContext context, IValidationRule validationRule, IRuleComponent ruleComponent, IValidatorFactory validatorFactory, IEnumerable <IResolver> resolvers) { if (validationRule.HasConditions() || ruleComponent.HasConditions()) { return(Task.CompletedTask); } var schemaProperty = schema.Properties[validationRule.GetPropertyKey()]; schemaProperty.MinLength = 1; schemaProperty.Nullable = false; return(Task.CompletedTask); }
public Task Resolve( OpenApiSchema schema, SchemaFilterContext context, IValidationRule validationRule, IRuleComponent ruleComponent, IValidatorFactory validatorFactory, IEnumerable <IResolver> resolvers) { if (validationRule.HasConditions() || ruleComponent.HasConditions()) { return(Task.CompletedTask); } var schemaProperty = schema.Properties[validationRule.GetPropertyKey()]; var regularExpressionValidator = (IRegularExpressionValidator)ruleComponent.Validator; schemaProperty.Pattern = regularExpressionValidator.Expression; return(Task.CompletedTask); }