MicroElements.AspNetCore.OpenApi.FluentValidation
7.1.3
Prefix Reserved
See the version list below for details.
dotnet add package MicroElements.AspNetCore.OpenApi.FluentValidation --version 7.1.3
NuGet\Install-Package MicroElements.AspNetCore.OpenApi.FluentValidation -Version 7.1.3
<PackageReference Include="MicroElements.AspNetCore.OpenApi.FluentValidation" Version="7.1.3" />
<PackageVersion Include="MicroElements.AspNetCore.OpenApi.FluentValidation" Version="7.1.3" />
<PackageReference Include="MicroElements.AspNetCore.OpenApi.FluentValidation" />
paket add MicroElements.AspNetCore.OpenApi.FluentValidation --version 7.1.3
#r "nuget: MicroElements.AspNetCore.OpenApi.FluentValidation, 7.1.3"
#:package MicroElements.AspNetCore.OpenApi.FluentValidation@7.1.3
#addin nuget:?package=MicroElements.AspNetCore.OpenApi.FluentValidation&version=7.1.3
#tool nuget:?package=MicroElements.AspNetCore.OpenApi.FluentValidation&version=7.1.3
Applies FluentValidation rules to OpenAPI schemas generated by Microsoft.AspNetCore.OpenApi (IOpenApiSchemaTransformer).
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- MicroElements.OpenApi.FluentValidation (>= 7.1.3)
- Microsoft.AspNetCore.OpenApi (>= 10.0.0 && < 11.0.0)
-
net9.0
- MicroElements.OpenApi.FluentValidation (>= 7.1.3)
- Microsoft.AspNetCore.OpenApi (>= 9.0.0 && < 10.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 7.1.4-beta | 0 | 3/24/2026 |
| 7.1.3 | 0 | 3/24/2026 |
| 7.1.2 | 606 | 3/9/2026 |
| 7.1.1 | 79 | 3/9/2026 |
| 7.1.0 | 81 | 3/9/2026 |
| 7.1.0-beta.2 | 219 | 3/6/2026 |
| 7.1.0-beta.1 | 378 | 2/23/2026 |
$# Changes in 7.1.3
- Fixed: `$ref` replaced with inline schema copy when using `SetValidator` with nested object types (Issue #198)
- `ResolveRefProperty` (introduced in 7.1.2 for BigInteger isolation) replaced all `$ref` properties with copies, destroying reference structure in the OpenAPI document
- Fix: snapshot `$ref` properties before rule application, restore them afterwards if no validation constraints were added by rules
- BigInteger per-model constraints (Issue #146) continue to work correctly
# 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.c` → `c`)
- 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
Full release notes can be found at: https://github.com/micro-elements/MicroElements.Swashbuckle.FluentValidation/blob/master/CHANGELOG.md