Thanks for reporting the issue, and sharing a reproduction on GitHub! This issue should be resolved in this commit and is now available on our MyGet NuGet feed in v6.4.1. Ensure you clear your nuget packages using dotnet nuget locals all --clear if you are already using v6.4.1.
I can confirm that it works now.
Bugs happen unfortunately, but a fix “in my hands” within 10 hours, that is amazing. Thanks “Guybrush”.
Can I take the repo down? Don’t think it’s that interesting for future readers?
For future readers:
Summarized, I had [Validation...] attributes on my DTO, which had a List<SubDTO> where the SubDTO class also were using [Validation...] attributes.
The validation on the “child” class was not working. It was very hard to see, for the untrained eye.
Layoric commented this:
When parent IEnumerable property has its own declarative validation attributes, child attributes are skipped. This removes the check so that nested validation is also applied in this case by removing the existing rule check for a parent property validation.