diff --git a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig index e91d44e155..9440658cbe 100644 --- a/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig +++ b/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig @@ -67,7 +67,7 @@ {% block choice_widget_collapsed %} {% spaceless %} - {% if required and empty_value is none and not empty_value_in_choices %} + {% if required and empty_value is none and not empty_value_in_choices and not multiple %} {% set required = false %} {% endif %} block($form, 'widget_attributes', array( - 'required' => $required && (null !== $empty_value || $empty_value_in_choices) + 'required' => $required )) ?> multiple="multiple" > diff --git a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php index 10650e5998..9e3647a2b2 100644 --- a/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php +++ b/src/Symfony/Component/Form/Tests/AbstractLayoutTest.php @@ -635,6 +635,7 @@ abstract class AbstractLayoutTest extends \Symfony\Component\Form\Test\FormInteg { $form = $this->factory->createNamed('name', 'choice', array('&a'), array( 'choices' => array('&a' => 'Choice&A', '&b' => 'Choice&B'), + 'required' => true, 'multiple' => true, 'expanded' => false, )); @@ -642,6 +643,7 @@ abstract class AbstractLayoutTest extends \Symfony\Component\Form\Test\FormInteg $this->assertWidgetMatchesXpath($form->createView(), array(), '/select [@name="name[]"] + [@required="required"] [@multiple="multiple"] [ ./option[@value="&a"][@selected="selected"][.="[trans]Choice&A[/trans]"]