|
@@ -71,6 +71,7 @@ class ChoiceType extends AbstractType
|
|
->setAttribute('multiple', $options['multiple'])
|
|
->setAttribute('multiple', $options['multiple'])
|
|
->setAttribute('expanded', $options['expanded'])
|
|
->setAttribute('expanded', $options['expanded'])
|
|
->setAttribute('required', $options['required'])
|
|
->setAttribute('required', $options['required'])
|
|
|
|
+ ->setAttribute('empty_value', $options['multiple'] || $options['required'] ? null : $options['empty_value'])
|
|
;
|
|
;
|
|
|
|
|
|
if ($options['expanded']) {
|
|
if ($options['expanded']) {
|
|
@@ -106,7 +107,7 @@ class ChoiceType extends AbstractType
|
|
->set('preferred_choices', array_intersect_key($choices, $preferred))
|
|
->set('preferred_choices', array_intersect_key($choices, $preferred))
|
|
->set('choices', array_diff_key($choices, $preferred))
|
|
->set('choices', array_diff_key($choices, $preferred))
|
|
->set('separator', '-------------------')
|
|
->set('separator', '-------------------')
|
|
- ->set('empty_value', !$form->getAttribute('multiple') && !$form->getAttribute('required') ? '' : null)
|
|
|
|
|
|
+ ->set('empty_value', $form->getAttribute('empty_value'))
|
|
;
|
|
;
|
|
|
|
|
|
if ($view->get('multiple') && !$view->get('expanded')) {
|
|
if ($view->get('multiple') && !$view->get('expanded')) {
|
|
@@ -124,6 +125,7 @@ class ChoiceType extends AbstractType
|
|
{
|
|
{
|
|
$multiple = isset($options['multiple']) && $options['multiple'];
|
|
$multiple = isset($options['multiple']) && $options['multiple'];
|
|
$expanded = isset($options['expanded']) && $options['expanded'];
|
|
$expanded = isset($options['expanded']) && $options['expanded'];
|
|
|
|
+ $required = isset($options['required']) && $options['required'];
|
|
|
|
|
|
return array(
|
|
return array(
|
|
'multiple' => false,
|
|
'multiple' => false,
|
|
@@ -132,6 +134,7 @@ class ChoiceType extends AbstractType
|
|
'choices' => array(),
|
|
'choices' => array(),
|
|
'preferred_choices' => array(),
|
|
'preferred_choices' => array(),
|
|
'empty_data' => $multiple || $expanded ? array() : '',
|
|
'empty_data' => $multiple || $expanded ? array() : '',
|
|
|
|
+ 'empty_value' => $multiple || $required ? null : '',
|
|
'error_bubbling' => false,
|
|
'error_bubbling' => false,
|
|
);
|
|
);
|
|
}
|
|
}
|