Bug #4857
ValidatorResolver tries to use data type as validator type
100%
Description
When buildMethodArgumentsValidatorConjunctions() iterates over method arguments, it tries to get a validator for each type. This works for simple types, but for objects the class name is used as validator directly. This is a) nonsense and b) causes circular dependency problems to begin with.
The problem is caused $typeValidator = $this->createValidator($methodParameter['type']);
, since createValidator() expects to get either one of the internal validator shorthands or the fully qualified name of a validator - but not a data type!
Updated by Bastian Waidelich over 12 years ago
Additional note: IIRC resolveValidatorObjectName()
calls isObjectRegistered()
on the object manager (and fires the FLOW3 autoloader) for simple types too. As arguments are mostly non-objects, this could be a performance issue..
Updated by Karsten Dambekalns over 12 years ago
Bastian Waidelich wrote:
Additional note: IIRC
resolveValidatorObjectName()
callsisObjectRegistered()
on the object manager (and fires the FLOW3 autoloader) for simple types too.
isObjectRegistered()
is more or less a simple isset() - no autoloader involved.
Updated by Karsten Dambekalns over 12 years ago
- Status changed from Accepted to Resolved
- % Done changed from 0 to 100
Applied in changeset r3288.