Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Nov 24, 2025

Backport of #64514 to release/10.0

/cc @captainsafia @copilot

Description

This backport updates the minimal API runtime validation logic to correctly treat user-defined value types—including record struct parameters and nested properties—as complex types. Previously, the validation pipeline only considered classes complex, causing record structs without top-level validation attributes to be skipped entirely.

Fixes #64513

Customer Impact

Minimal API users defining request DTOs as record struct were unable to rely on validation attributes inside those types. This led to missing validation errors and inconsistent behavior between classes and record structs. The fix brings record struct behavior in line with classes and improves model consistency without requiring user code changes.

Regression?

  • Yes
  • No

Risk

  • High
  • Medium
  • Low

The change expands the definition of “complex type” to include non-primitive value types. This aligns with user expectations and matches typical model binding behavior. Existing special-cased primitive and framework types remain excluded, and new automated tests cover the updated behavior.

Verification

  • Manual (required)
  • Automated

Packaging changes reviewed?

  • Yes
  • No
  • N/A

@captainsafia captainsafia added the Servicing-consider Shiproom approval is required for the issue label Nov 24, 2025
@dotnet-policy-service
Copy link
Contributor

Hi @@github-actions[bot]. Please make sure you've updated the PR description to use the Shiproom Template. Also, make sure this PR is not marked as a draft and is ready-to-merge.

To learn more about how to prepare a servicing PR click here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Servicing-consider Shiproom approval is required for the issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants