Skip to content

Commit 24f9a0c

Browse files
Nicalsnicolas-grekas
authored andcommitted
improve FormType::getType exception message details
1 parent ece2457 commit 24f9a0c

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

FormRegistry.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,14 @@ public function getType($name)
8484

8585
if (!$type) {
8686
// Support fully-qualified class names
87-
if (class_exists($name) && in_array('Symfony\Component\Form\FormTypeInterface', class_implements($name))) {
88-
$type = new $name();
89-
} else {
90-
throw new InvalidArgumentException(sprintf('Could not load type "%s"', $name));
87+
if (!class_exists($name)) {
88+
throw new InvalidArgumentException(sprintf('Could not load type "%s": class does not exist.', $name));
9189
}
90+
if (!in_array(FormTypeInterface::class, class_implements($name))) {
91+
throw new InvalidArgumentException(sprintf('Could not load type "%s": class does not implement "%s".', $name, FormTypeInterface::class));
92+
}
93+
94+
$type = new $name();
9295
}
9396

9497
$this->resolveAndAddType($type);

0 commit comments

Comments
 (0)