MicroElements.Swashbuckle.FluentValidation 7.1.1
Swagger ISchemaFilter that uses FluentValidation validators instead System.ComponentModel based attributes.
Showing the top 20 packages that depend on MicroElements.Swashbuckle.FluentValidation.
| Packages | Downloads |
|---|---|
|
JQ.Common.Infrastructure
用于HIS2.0全部的第三方dll
|
1 |
|
JQ.Common.Infrastructure
用于HIS2.0全部的第三方dll
|
2 |
|
JQ.Common.Infrastructure
用于HIS2.0全部的第三方dll
|
3 |
|
JQ.Common.Infrastructure
用于HIS2.0全部的第三方dll
|
5 |
|
JQ.Common.Infrastructure
用于HIS2.0全部的第三方dll
|
8 |
|
JQ.Common.Infrastructure
用于HIS2.0全部的第三方dll
|
9 |
|
JQ.Common.Infrastructure
用于HIS2.0全部的第三方dll
|
11 |
|
JQ.Common.Infrastructure
用于HIS2.0全部的第三方dll
|
14 |
|
JQ.Common.Infrastructure
用于HIS2.0全部的第三方dll
|
15 |
|
JQ.Common.Infrastructure
用于HIS2.0全部的第三方dll
|
16 |
|
JQ.Common.Infrastructure
用于HIS2.0全部的第三方dll
|
18 |
|
JQ.Common.Infrastructure
用于HIS2.0全部的第三方dll
|
19 |
|
JQ.Common.Infrastructure
用于HIS2.0全部的第三方dll
|
30 |
|
JQ.Common.Infrastructure
用于HIS2.0全部的第三方dll
|
47 |
|
JQ.Common.Infrastructure
用于HIS2.0全部的第三方dll
|
54 |
$# 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
# Changes in 7.0.5
- Added: `RemoveUnusedQuerySchemas` option (default: `true`) to control cleanup of
container type schemas for `[FromQuery]`/`[AsParameters]` types (Issue #180)
Full release notes can be found at: https://github.com/micro-elements/MicroElements.Swashbuckle.FluentValidation/blob/master/CHANGELOG.md
.NET 8.0
- MicroElements.OpenApi.FluentValidation (>= 7.1.1)
- Swashbuckle.AspNetCore.SwaggerGen (>= 8.1.1)
.NET 9.0
- MicroElements.OpenApi.FluentValidation (>= 7.1.1)
- Swashbuckle.AspNetCore.SwaggerGen (>= 8.1.1)
.NET 10.0
- MicroElements.OpenApi.FluentValidation (>= 7.1.1)
- Swashbuckle.AspNetCore.SwaggerGen (>= 10.0.0)
| Version | Downloads | Last updated |
|---|---|---|
| 7.1.5-beta | 0 | 2026/4/1 |
| 7.1.4 | 0 | 2026/3/29 |
| 7.1.4-beta | 0 | 2026/3/24 |
| 7.1.3 | 0 | 2026/3/24 |
| 7.1.2 | 0 | 2026/3/9 |
| 7.1.1 | 1 | 2026/4/11 |
| 7.1.0 | 1 | 2026/4/11 |
| 7.1.0-beta.2 | 1 | 2026/4/9 |
| 7.1.0-beta.1 | 0 | 2026/2/23 |
| 7.0.6 | 1 | 2026/4/11 |
| 7.0.5 | 0 | 2026/2/26 |
| 7.0.4 | 0 | 2026/2/17 |
| 7.0.4-beta.3 | 1 | 2026/4/9 |
| 7.0.4-beta.2 | 1 | 2026/4/9 |
| 7.0.4-beta.1 | 1 | 2026/4/9 |
| 7.0.3 | 0 | 2025/12/23 |
| 7.0.2 | 0 | 2025/12/23 |
| 7.0.1 | 1 | 2026/4/11 |
| 7.0.0 | 1 | 2026/4/11 |
| 6.1.1 | 1 | 2026/4/11 |
| 6.1.0 | 1 | 2026/4/11 |
| 6.0.0 | 1 | 2026/4/11 |
| 6.0.0-beta.3 | 0 | 2023/2/19 |
| 6.0.0-beta.1 | 0 | 2022/7/23 |
| 5.7.0 | 0 | 2022/6/10 |
| 5.6.0 | 1 | 2026/4/11 |
| 5.5.0 | 1 | 2026/4/11 |
| 5.4.0 | 15 | 2025/2/28 |
| 5.3.0 | 0 | 2021/9/1 |
| 5.2.0 | 0 | 2021/7/31 |
| 5.1.0 | 1 | 2026/4/11 |
| 5.1.0-rc.2 | 0 | 2021/6/3 |
| 5.1.0-rc.1 | 1 | 2026/4/9 |
| 5.0.0 | 1 | 2026/4/11 |
| 5.0.0-rc.2 | 1 | 2026/4/9 |
| 5.0.0-rc.1 | 1 | 2026/4/9 |
| 4.3.0 | 1 | 2026/4/11 |
| 4.3.0-rc.1 | 0 | 2021/3/21 |
| 4.2.0 | 1 | 2026/4/11 |
| 4.1.0 | 1 | 2026/4/11 |
| 4.1.0-rc.1 | 1 | 2026/4/9 |
| 4.0.0 | 1 | 2026/4/11 |
| 4.0.0-rc.2 | 1 | 2026/4/9 |
| 4.0.0-rc.1 | 1 | 2026/4/9 |
| 3.2.0 | 1 | 2026/4/11 |
| 3.1.1 | 1 | 2026/4/11 |
| 3.1.0 | 1 | 2026/4/11 |
| 3.0.0 | 1 | 2026/4/11 |
| 3.0.0-rc.6 | 0 | 2020/2/5 |
| 3.0.0-rc.5 | 0 | 2020/1/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/9/30 |
| 3.0.0-beta.1 | 0 | 2019/4/26 |
| 3.0.0-alpha.1 | 0 | 2019/4/23 |
| 2.3.0 | 1 | 2026/4/11 |
| 2.2.1 | 0 | 2019/10/13 |
| 2.2.0 | 1 | 2026/4/11 |
| 2.1.1 | 5 | 2025/3/3 |
| 2.1.0 | 1 | 2026/4/11 |
| 2.0.1 | 1 | 2026/4/11 |
| 2.0.0 | 1 | 2026/4/9 |
| 2.0.0-beta.5 | 0 | 2019/2/13 |
| 2.0.0-beta.4 | 0 | 2019/2/11 |
| 2.0.0-beta.3 | 0 | 2019/1/28 |
| 2.0.0-beta.2 | 0 | 2019/1/10 |
| 2.0.0-beta.1 | 0 | 2018/11/12 |
| 1.2.0 | 1 | 2026/4/11 |
| 1.1.0 | 1 | 2026/4/11 |
| 1.0.0 | 1 | 2026/4/11 |
| 1.0.0-rc.1 | 0 | 2018/9/22 |
| 1.0.0-beta.3 | 0 | 2018/9/19 |
| 1.0.0-beta.2 | 0 | 2018/9/10 |
| 1.0.0-beta.1 | 0 | 2018/8/26 |
| 0.8.2 | 0 | 2018/6/29 |
| 0.8.1 | 1 | 2026/4/11 |
| 0.8.0 | 1 | 2026/4/11 |
| 0.8.0-beta.1 | 0 | 2018/5/11 |
| 0.7.0 | 1 | 2026/4/11 |
| 0.6.0 | 1 | 2026/4/11 |
| 0.5.0 | 1 | 2026/4/11 |
| 0.4.0 | 1 | 2026/4/11 |
| 0.3.0 | 1 | 2026/4/11 |
| 0.2.0 | 1 | 2026/4/11 |
| 0.1.0 | 1 | 2026/4/11 |