MicroElements.NSwag.FluentValidation
7.1.2
Prefix Reserved
dotnet add package MicroElements.NSwag.FluentValidation --version 7.1.2
NuGet\Install-Package MicroElements.NSwag.FluentValidation -Version 7.1.2
<PackageReference Include="MicroElements.NSwag.FluentValidation" Version="7.1.2" />
<PackageVersion Include="MicroElements.NSwag.FluentValidation" Version="7.1.2" />
<PackageReference Include="MicroElements.NSwag.FluentValidation" />
paket add MicroElements.NSwag.FluentValidation --version 7.1.2
#r "nuget: MicroElements.NSwag.FluentValidation, 7.1.2"
#:package MicroElements.NSwag.FluentValidation@7.1.2
#addin nuget:?package=MicroElements.NSwag.FluentValidation&version=7.1.2
#tool nuget:?package=MicroElements.NSwag.FluentValidation&version=7.1.2
Adds FluentValidation rules to swagger schema.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. 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 was computed. 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. |
-
net8.0
- MicroElements.OpenApi.FluentValidation (>= 7.1.2)
- NJsonSchema (>= 11.3.2)
-
net9.0
- MicroElements.OpenApi.FluentValidation (>= 7.1.2)
- NJsonSchema (>= 11.3.2)
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.2 | 0 | 3/9/2026 |
| 7.1.1 | 0 | 3/9/2026 |
| 7.1.0 | 0 | 3/9/2026 |
| 7.1.0-beta.2 | 34 | 3/6/2026 |
| 7.1.0-beta.1 | 43 | 2/23/2026 |
| 7.0.6 | 87 | 3/3/2026 |
| 7.0.5 | 126 | 2/26/2026 |
| 7.0.4 | 160 | 2/17/2026 |
| 7.0.4-beta.3 | 43 | 2/14/2026 |
| 7.0.4-beta.2 | 44 | 2/14/2026 |
| 7.0.4-beta.1 | 46 | 2/14/2026 |
| 7.0.3 | 788 | 12/23/2025 |
| 7.0.2 | 472 | 12/23/2025 |
| 7.0.1 | 824 | 12/8/2025 |
| 6.1.1 | 1,923 | 9/2/2025 |
| 6.1.0 | 12,381 | 11/26/2024 |
| 6.0.0 | 18,764 | 12/3/2023 |
| 6.0.0-beta.3 | 8,818 | 2/19/2023 |
$# 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
# 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