diff --git a/src/Validator.php b/src/Validator.php index 1425c99..e6fc32d 100644 --- a/src/Validator.php +++ b/src/Validator.php @@ -153,7 +153,8 @@ public function validateCallable(array|ArrayObject $data, callable $call): array $aliasName = $this->getAliasName($parameter, $defaultAliasGenerator); $this->context->push('internal.currentProperty', $propertyName); - if (! array_key_exists($aliasName, (array) $data) && ! array_key_exists($index, (array) $data)) { + $propertyValue = $data[$index] ?? $data[$aliasName] ?? null; // Lazy load data + if (! array_key_exists($index, (array) $data) && ! array_key_exists($aliasName, (array) $data)) { if (! $parameter->isDefaultValueAvailable()) { try { $errorInfo->addError("Missing required argument '$aliasName'"); @@ -167,7 +168,6 @@ public function validateCallable(array|ArrayObject $data, callable $call): array continue; } - $propertyValue = $data[$index] ?? $data[$aliasName]; $property = new Property($parameter, $propertyValue); $this->context->set(Property::class, $property, override: true);