Fix Assert\Choice when choices are object not array

This commit is contained in:
katinsv 2020-03-13 16:59:56 +03:00
parent eb99b32151
commit 82aa08e5ff

View File

@ -67,7 +67,8 @@ class SymfonyConstraintAnnotationReader
$property->setMinItems($annotation->min); $property->setMinItems($annotation->min);
$property->setMaxItems($annotation->max); $property->setMaxItems($annotation->max);
} elseif ($annotation instanceof Assert\Choice) { } elseif ($annotation instanceof Assert\Choice) {
$property->setEnum($annotation->callback ? call_user_func(is_array($annotation->callback) ? $annotation->callback : [$reflectionProperty->class, $annotation->callback]) : $annotation->choices); $values = $annotation->callback ? call_user_func(is_array($annotation->callback) ? $annotation->callback : [$reflectionProperty->class, $annotation->callback]) : $annotation->choices;
$property->setEnum(array_values($values));
} elseif ($annotation instanceof Assert\Expression) { } elseif ($annotation instanceof Assert\Expression) {
$this->appendPattern($property, $annotation->message); $this->appendPattern($property, $annotation->message);
} elseif ($annotation instanceof Assert\Range) { } elseif ($annotation instanceof Assert\Range) {