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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MicroElements.NSwag.FluentValidation" Version="7.1.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MicroElements.NSwag.FluentValidation" Version="7.1.2" />
                    
Directory.Packages.props
<PackageReference Include="MicroElements.NSwag.FluentValidation" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MicroElements.NSwag.FluentValidation --version 7.1.2
                    
#r "nuget: MicroElements.NSwag.FluentValidation, 7.1.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MicroElements.NSwag.FluentValidation@7.1.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MicroElements.NSwag.FluentValidation&version=7.1.2
                    
Install as a Cake Addin
#tool nuget:?package=MicroElements.NSwag.FluentValidation&version=7.1.2
                    
Install as a Cake Tool

Adds FluentValidation rules to swagger schema.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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