MicroElements.Swashbuckle.FluentValidation 7.1.2

Swagger ISchemaFilter that uses FluentValidation validators instead System.ComponentModel based attributes.

No packages depend on MicroElements.Swashbuckle.FluentValidation.

$# Changes in 7.1.2

  • Added: BigInteger support for min/max validation constraints in OpenAPI schema generation (Issue #146)
    • IsNumeric() and NumericToDecimal() now handle BigInteger values
    • BigInteger properties with GreaterThan, LessThan, InclusiveBetween, ExclusiveBetween rules produce correct minimum/maximum in Swagger
    • NSwag provider updated with the same BigInteger support
    • Out-of-range BigInteger values (exceeding decimal range) are handled gracefully via existing try/catch
  • Fixed: Shared schema mutation when multiple models reference the same BigInteger type with different constraints (net10.0)
    • ResolveRefProperty creates an isolated shallow copy before applying rule mutations
    • Prevents $ref-based schema corruption across models in SchemaRepository
  • Fixed: Replaced deprecated PackageLicenseUrl with PackageLicenseExpression (Issue #144)
  • Fixed: Replaced deprecated PackageIconUrl with embedded PackageIcon

Changes in 7.1.1

  • Fixed: Nested object validation not applied for [FromQuery] parameters (Issue #162)
    • When Swashbuckle decomposes [FromQuery] models with nested objects into flat parameters (e.g., operation.op), the full dot-path name was used for schema property matching instead of the leaf name (op)
    • EqualsIgnoreAll("operation.op", "op") compared "OPERATIONOP" vs "OP" and failed to match
    • Strip dot-path prefix using LastIndexOf('.') in both FluentValidationOperationFilter and FluentValidationDocumentFilter
    • Supports arbitrarily deep nesting (e.g., a.b.cc)
  • Added: SetNotNullableIfMinimumGreaterThenZero option to separately control nullable behavior for numeric Minimum constraints (Issue #154, ported from vchirikov fork PR #2)
    • Distinct from existing SetNotNullableIfMinLengthGreaterThenZero (for string MinLength)
    • Default: false (backward compatible)
  • Fixed: SetNotNullableIfMinLengthGreaterThenZero option now works in NSwag provider (Issue #154)
    • NSwagFluentValidationRuleProvider now accepts IOptions<SchemaGenerationOptions>
    • Rules NotEmpty, Length, Comparison, Between respect both nullable options
    • Feature parity across Swashbuckle, AspNetCore.OpenApi, and NSwag providers
  • Improved: Comparison/Between rules now use SetNotNullableIfMinimumGreaterThenZero() which checks actual Minimum value instead of unconditionally setting not-nullable

Changes in 7.1.0

  • Added: New package MicroElements.AspNetCore.OpenApi.FluentValidation for Microsoft.AspNetCore.OpenApi support (Issue #149)
    • Implements IOpenApiSchemaTransformer for .NET 9 and .NET 10
    • Supports all FluentValidation rules: Required, NotEmpty, Length, Pattern, Email, Comparison, Between
    • Handles AllOf/OneOf/AnyOf sub-schemas for polymorphic models
    • No dependency on Swashbuckle
    • User-facing API: services.AddFluentValidationRulesToOpenApi() + options.AddFluentValidationRules()
    • .NET 10: full nested validator support via GetOrCreateSchemaAsync
    • .NET 9: limited nested validator support (fallback to empty schema)
  • Fixed: AspNetCore.OpenApi.FluentValidation support for .NET 10 (Issue #149, PR #192)
  • Added: Sample project SampleAspNetCoreOpenApi demonstrating Microsoft.AspNetCore.OpenApi integration
  • Added: ADR-001 documenting the architectural decision for AspNetCore.OpenApi support

Changes in 7.1.0-beta.1

  • Added: New package MicroElements.AspNetCore.OpenApi.FluentValidation for Microsoft.AspNetCore.OpenApi support (Issue #149)
    • Implements IOpenApiSchemaTransformer for .NET 9 and .NET 10
    • Supports all FluentValidation rules: Required, NotEmpty, Length, Pattern, Email, Comparison, Between
    • Handles AllOf/OneOf/AnyOf sub-schemas for polymorphic models
    • No dependency on Swashbuckle
    • User-facing API: services.AddFluentValidationRulesToOpenApi() + options.AddFluentValidationRules()
    • .NET 10: full nested validator support via GetOrCreateSchemaAsync
    • .NET 9: limited nested validator support (fallback to empty schema)
  • Added: Sample project SampleAspNetCoreOpenApi demonstrating Microsoft.AspNetCore.OpenApi integration
  • Added: ADR-001 documenting the architectural decision for AspNetCore.OpenApi support

Changes in 7.0.6

  • Fixed: [AsParameters] validation rules not applied on .NET 8 Minimal APIs (Issue #180)
    • On .NET 8, ModelMetadata.ContainerType is null for [AsParameters] decomposed parameters
    • Added AsParametersHelper fallback that resolves the container type via [AsParameters] reflection on MethodInfo
    • Applied fallback in both FluentValidationOperationFilter and FluentValidationDocumentFilter
    • Zero regression on .NET 9/10 where ContainerType is already populated

Full release notes can be found at: https://github.com/micro-elements/MicroElements.Swashbuckle.FluentValidation/blob/master/CHANGELOG.md

Version Downloads Last updated
7.1.5-beta 0 2026-04-01
7.1.4 0 2026-03-29
7.1.4-beta 0 2026-03-24
7.1.3 24 2026-03-26
7.1.2 1 2026-03-16
7.1.1 0 2026-03-09
7.1.0 0 2026-03-09
7.1.0-beta.2 0 2026-03-06
7.1.0-beta.1 0 2026-02-23
7.0.6 0 2026-03-03
7.0.5 0 2026-02-26
7.0.4 0 2026-02-17
7.0.4-beta.3 0 2026-02-14
7.0.4-beta.2 0 2026-02-14
7.0.4-beta.1 0 2026-02-14
7.0.3 0 2025-12-23
7.0.2 0 2025-12-23
7.0.1 0 2025-12-08
7.0.0 0 2025-12-07
6.1.1 0 2025-09-02
6.1.0 0 2024-11-26
6.0.0 413 2025-04-15
6.0.0-beta.3 0 2023-02-19
6.0.0-beta.1 0 2022-07-23
5.7.0 0 2022-06-10
5.6.0 0 2022-05-03
5.5.0 0 2022-03-28
5.4.0 0 2021-09-19
5.3.0 0 2021-09-01
5.2.0 0 2021-07-31
5.1.0 0 2021-06-15
5.1.0-rc.2 0 2021-06-03
5.1.0-rc.1 0 2021-06-01
5.0.0 0 2021-05-30
5.0.0-rc.2 0 2021-05-18
5.0.0-rc.1 0 2021-05-16
4.3.0 0 2021-03-25
4.3.0-rc.1 0 2021-03-21
4.2.0 0 2021-02-18
4.1.0 0 2021-01-21
4.1.0-rc.1 0 2021-01-06
4.0.0 0 2020-08-21
4.0.0-rc.2 0 2020-07-18
4.0.0-rc.1 0 2020-06-15
3.2.0 0 2020-06-14
3.1.1 0 2020-04-28
3.1.0 0 2020-03-25
3.0.0 0 2020-03-07
3.0.0-rc.6 0 2020-02-05
3.0.0-rc.5 0 2020-01-24
3.0.0-rc.4 0 2019-12-29
3.0.0-rc.3 0 2019-11-28
3.0.0-rc.2 0 2019-10-13
3.0.0-rc.1 0 2019-09-30
3.0.0-beta.1 0 2019-04-26
3.0.0-alpha.1 0 2019-04-23
2.3.0 0 2019-11-14
2.2.1 0 2019-10-13
2.2.0 0 2019-08-28
2.1.1 0 2019-04-26
2.1.0 0 2019-04-08
2.0.1 0 2019-04-06
2.0.0 0 2019-03-13
2.0.0-beta.5 0 2019-02-13
2.0.0-beta.4 0 2019-02-11
2.0.0-beta.3 0 2019-01-28
2.0.0-beta.2 0 2019-01-10
2.0.0-beta.1 0 2018-11-12
1.2.0 0 2019-01-22
1.1.0 0 2018-11-10
1.0.0 0 2018-09-26
1.0.0-rc.1 0 2018-09-22
1.0.0-beta.3 0 2018-09-19
1.0.0-beta.2 0 2018-09-10
1.0.0-beta.1 0 2018-08-26
0.8.2 0 2018-06-29
0.8.1 0 2018-06-20
0.8.0 0 2018-06-12
0.8.0-beta.1 0 2018-05-11
0.7.0 0 2018-04-11
0.6.0 0 2018-04-04
0.5.0 0 2018-03-30
0.4.0 0 2018-03-29
0.3.0 0 2018-03-25
0.2.0 0 2018-03-25
0.1.0 0 2018-03-20