Introduce custom constraints to extend the smithy validation rules - #1171
Merged
mtdowling merged 12 commits intoMay 12, 2026
Merged
Conversation
Gravewalker666
force-pushed
the
1089-allow-custom-validation-rules
branch
4 times, most recently
from
May 7, 2026 12:46
21a9497 to
f815d7a
Compare
Gravewalker666
marked this pull request as ready for review
May 7, 2026 13:52
timocov
reviewed
May 7, 2026
mtdowling
requested changes
May 8, 2026
Gravewalker666
force-pushed
the
1089-allow-custom-validation-rules
branch
from
May 12, 2026 12:46
c2ffe8f to
621583e
Compare
mtdowling
requested changes
May 12, 2026
mtdowling
requested changes
May 12, 2026
mtdowling
left a comment
Member
There was a problem hiding this comment.
Looks great! I'll merge after the stale comment fix.
mtdowling
approved these changes
May 12, 2026
mtdowling
enabled auto-merge (rebase)
May 12, 2026 19:50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue #, if available:
#1089
Description of changes:
CustomConstraintinterface for extensible validation rules via ServiceLoaderValidator.CustomConstraintProviderto discover and register custom constraints as schema extensionsapplyCustomConstraints()into Validator.ShapeValidator to apply custom rules after standard validationValidationError.CustomValidationFailurerecord for custom constraint violationsBenchmark numbers:
A record of benchmark runs I've done along the way is documented here (non-complete): https://pastebin.com/GTuJKkQN
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.