[5.2] Validate array size of implicit attributes #12640
Merged
+65
−26
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.
Currently there's no way to validate the size of an array in an implicit attribute:
The case is the same with
size
,between
,min
, andmax
.The reason is that inside the
each
method all arrays are flattened, so no key will ever has an array value for these rules to work.This PR appends exact values for the
attribute
for each iteration at the end of the$data
variable.NOTE
For these changes to pass the unit tests I had to remove the
ValidationValidatorTest::testValidateEach()
tests, they hit theeach()
method directly with invalid validation rules that won't work if applied to theValidator::make()
method, and since exact values are now appended to the$data
variable these tests will no longer succeed.