Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix bug when Multiple is passed an invalid value #1467

Open
wants to merge 1 commit into
base: 2.3
Choose a base branch
from

Conversation

dmjohnsson23
Copy link

If you are using Multiple to validate, and pass a value that is unsupported by the % operator, it will fail instead of creating a validation error. This fixes that bug.

Example of code the reproduces the bug:

Respect\Validation\Validator::intType()->multiple(10)->assert('Hello!');
// TypeError: Unsupported operand types: string % int

I'm submitting against the 2.3 branch instead of main because that's the version I'm using, and the version I tested this change against. It looks like the library has undergone significant refactoring since 2.3, so this probably can't be merged as-is to main.

This uses the same method that was already in use in the Even rule. Probably a better way of doing things would be some kind of "short circuit" where, since intType fails, multiple is never used. But, I don't want to throw anything drastic your way since it looks like you're in the middle of a big refactor.

If you are using `Multiple` to validate, and pass a value that is unsupported by the `%` operator, it will fail instead of creating a validation error. This fixes that bug.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant