MicroElements.OpenApi.FluentValidation 7.1.3
Package Description
Showing the top 20 packages that depend on MicroElements.OpenApi.FluentValidation.
| Packages | Downloads |
|---|---|
|
MicroElements.Swashbuckle.FluentValidation
Swagger ISchemaFilter that uses FluentValidation validators instead System.ComponentModel based attributes.
|
1 |
|
MicroElements.Swashbuckle.FluentValidation
Swagger ISchemaFilter that uses FluentValidation validators instead System.ComponentModel based attributes.
|
24 |
|
MicroElements.Swashbuckle.FluentValidation
Swagger ISchemaFilter that uses FluentValidation validators instead System.ComponentModel based attributes.
|
413 |
$# Changes in 7.1.3
- Fixed:
$refreplaced with inline schema copy when usingSetValidatorwith nested object types (Issue #198)ResolveRefProperty(introduced in 7.1.2 for BigInteger isolation) replaced all$refproperties with copies, destroying reference structure in the OpenAPI document- Fix: snapshot
$refproperties 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:
BigIntegersupport for min/max validation constraints in OpenAPI schema generation (Issue #146)IsNumeric()andNumericToDecimal()now handleBigIntegervaluesBigIntegerproperties with GreaterThan, LessThan, InclusiveBetween, ExclusiveBetween rules produce correctminimum/maximumin Swagger- NSwag provider updated with the same
BigIntegersupport - Out-of-range
BigIntegervalues (exceedingdecimalrange) are handled gracefully via existing try/catch
- Fixed: Shared schema mutation when multiple models reference the same
BigIntegertype with different constraints (net10.0)ResolveRefPropertycreates an isolated shallow copy before applying rule mutations- Prevents
$ref-based schema corruption across models inSchemaRepository
- Fixed: Replaced deprecated
PackageLicenseUrlwithPackageLicenseExpression(Issue #144) - Fixed: Replaced deprecated
PackageIconUrlwith embeddedPackageIcon
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 bothFluentValidationOperationFilterandFluentValidationDocumentFilter - Supports arbitrarily deep nesting (e.g.,
a.b.c→c)
- When Swashbuckle decomposes
- Added:
SetNotNullableIfMinimumGreaterThenZerooption 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)
- Distinct from existing
- Fixed:
SetNotNullableIfMinLengthGreaterThenZerooption now works in NSwag provider (Issue #154)NSwagFluentValidationRuleProvidernow acceptsIOptions<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.FluentValidationfor Microsoft.AspNetCore.OpenApi support (Issue #149)- Implements
IOpenApiSchemaTransformerfor .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)
- Implements
- Fixed: AspNetCore.OpenApi.FluentValidation support for .NET 10 (Issue #149, PR #192)
- Added: Sample project
SampleAspNetCoreOpenApidemonstrating 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.FluentValidationfor Microsoft.AspNetCore.OpenApi support (Issue #149)- Implements
IOpenApiSchemaTransformerfor .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)
- Implements
- Added: Sample project
SampleAspNetCoreOpenApidemonstrating 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
.NET 8.0
- FluentValidation (>= 12.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.5)
- Microsoft.Extensions.Options (>= 9.0.5)
.NET 9.0
- FluentValidation (>= 12.0.0)
.NET 10.0
- FluentValidation (>= 12.0.0)
| 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 | 1 | 2026-03-26 |
| 7.1.2 | 0 | 2026-03-09 |
| 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 |
| 6.1.1 | 0 | 2025-09-02 |
| 6.1.0 | 0 | 2024-11-26 |
| 6.0.0 | 48 | 2025-05-06 |
| 6.0.0-beta.3 | 0 | 2023-02-19 |
| 6.0.0-beta.1 | 0 | 2022-07-23 |