diff --git a/src/Symfony/Component/Form/Form.php b/src/Symfony/Component/Form/Form.php index c371c18cef0a..b8108e2c748f 100644 --- a/src/Symfony/Component/Form/Form.php +++ b/src/Symfony/Component/Form/Form.php @@ -459,7 +459,6 @@ public function bind($clientData) } } - // Merge form data from children into existing client data if (count($this->children) > 0 && $this->dataMapper) { $this->dataMapper->mapFormsToData($this->children, $clientData); diff --git a/src/Symfony/Component/Form/Type/ChoiceType.php b/src/Symfony/Component/Form/Type/ChoiceType.php index 7dfb813d9348..cafaa6f11547 100644 --- a/src/Symfony/Component/Form/Type/ChoiceType.php +++ b/src/Symfony/Component/Form/Type/ChoiceType.php @@ -92,6 +92,9 @@ public function buildRenderer(ThemeRendererInterface $renderer, FormInterface $f public function getDefaultOptions(array $options) { + $multiple = isset($options['multiple']) && $options['multiple']; + $expanded = isset($options['expanded']) && $options['expanded']; + return array( 'multiple' => false, 'expanded' => false, @@ -99,6 +102,7 @@ public function getDefaultOptions(array $options) 'choices' => array(), 'preferred_choices' => array(), 'csrf_protection' => false, + 'empty_data' => $multiple || $expanded ? array() : '', ); }