feat: port missing Laravel validation rules#345
Merged
albertcht merged 1 commit intohypervel:mainfrom Jan 24, 2026
Merged
Conversation
Port Laravel's Contains and DoesntContain validation rules to Hypervel: - Add Contains rule class for validating arrays contain required values - Add DoesntContain rule class for validating arrays don't contain forbidden values - Add validateDoesntContain() validator method - Add Rule::contains(), Rule::doesntContain(), Rule::dateTime() static methods - Add validation messages for 'can', 'contains', 'doesnt_contain' - Full enum support (string-backed, int-backed, unit enums) - Comprehensive tests for both rules
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.
Summary
Laravel added
containsanddoesnt_containvalidation rules for validating that arrays contain (or don't contain) specific values. This PR brings those rules to Hypervel with full enum support.New Rules
containsValidates that an array contains all of the specified values:
doesnt_containValidates that an array does not contain any of the specified values:
Rule::dateTime()Convenience method for validating datetime strings in
Y-m-d H:i:sformat:Changes
New Files
src/validation/src/Rules/Contains.phpsrc/validation/src/Rules/DoesntContain.phptests/Validation/ValidationContainsRuleTest.phptests/Validation/ValidationDoesntContainRuleTest.phpModified Files
src/validation/src/Rule.phpcontains(),doesntContain(),dateTime()static methodssrc/validation/src/Concerns/ValidatesAttributes.phpvalidateDoesntContain()methodsrc/translation/lang/en/validation.phpcan,contains,doesnt_containEnum Support
Both rules support all enum types: