mirror of
https://github.com/Respect/Validation.git
synced 2026-03-15 14:55:44 +01:00
Before this change, querying validation results required knowing the exact path to a specific result node—including numeric indices for array elements (e.g., `items.1.email`). This made it impractical to locate the first failing result in dynamic collections where the failing index is not known ahead of time. Wildcard segments (`*`) allow matching any single path component, so patterns like `items.*`, `*.email`, or `data.*.value` will traverse the result tree and return the first node whose path matches. This is particularly valuable when validating arrays of items with `each()`, because consumers can now ask "give me the first failure under items" without iterating manually. The implementation replaces the previous flat `array_find` lookup with a recursive depth-first traversal that, when a wildcard is present, compares each node's full path against the pattern using segment-level matching. Non-wildcard lookups continue to use exact array equality, so there is no behavioral change for existing callers. Assisted-by: Claude Code (claude-opus-4-6) |
||
|---|---|---|
| .. | ||
| Issues | ||
| Readme | ||
| Transformers | ||
| ValidatorBuilder | ||
| Validators | ||
| AssertWithKeysTest.php | ||
| AssertWithPropertiesTest.php | ||
| AssertWithTemplatesTest.php | ||
| DoNotRelyOnNestedValidationExceptionInterfaceForCheckTest.php | ||
| GetFullMessageShouldIncludeAllValidationMessagesInAChainTest.php | ||
| GetMessagesShouldIncludeAllValidationMessagesInAChainTest.php | ||
| GetMessagesTest.php | ||
| GetMessagesWithReplacementsTest.php | ||
| HandlingNamesTest.php | ||
| KeysAsValidatorNamesTest.php | ||
| NotShouldWorkWithBuilderTestTest.php | ||
| NotWithoutRecursionTest.php | ||
| NotWithRecursionTest.php | ||
| ResultQueryTest.php | ||
| SerializableTest.php | ||
| SetTemplateWithMultipleValidatorsShouldUseTemplateAsFullMessageHeaderTest.php | ||
| SetTemplateWithMultipleValidatorsShouldUseTemplateAsMainMessageTest.php | ||
| SetTemplateWithSingleValidatorShouldUseTemplateAsMainMessageTest.php | ||
| TranslatorTest.php | ||
| ValidationExceptionStackTraceTest.php | ||