diff --git a/src/Symfony/Component/Form/Extension/Core/Type/FieldType.php b/src/Symfony/Component/Form/Extension/Core/Type/FieldType.php index 8b4910805b..2f3d294b79 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/FieldType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/FieldType.php @@ -52,7 +52,7 @@ class FieldType extends AbstractType ->setAttribute('error_mapping', $options['error_mapping']) ->setAttribute('max_length', $options['max_length']) ->setAttribute('pattern', $options['pattern']) - ->setAttribute('label', $options['label'] ?: $this->humanize($builder->getName())) + ->setAttribute('label', strlen($options['label']) > 0 ? $options['label'] : $this->humanize($builder->getName())) ->setAttribute('attr', $options['attr'] ?: array()) ->setAttribute('invalid_message', $options['invalid_message']) ->setAttribute('invalid_message_parameters', $options['invalid_message_parameters']) diff --git a/tests/Symfony/Tests/Component/Form/Extension/Core/Type/FieldTypeTest.php b/tests/Symfony/Tests/Component/Form/Extension/Core/Type/FieldTypeTest.php index 69a61179bd..0e7e6f32f8 100644 --- a/tests/Symfony/Tests/Component/Form/Extension/Core/Type/FieldTypeTest.php +++ b/tests/Symfony/Tests/Component/Form/Extension/Core/Type/FieldTypeTest.php @@ -238,4 +238,12 @@ class FieldTypeTest extends TypeTestCase $form = $this->factory->create('field', null, array('attr' => '')); } + // https://github.com/symfony/symfony/issues/6862 + public function testPassZeroLabelToView() + { + $view = $this->factory->create('field', null, array('label' => 0))->createView(); + + $this->assertEquals('0', $view->get('label')); + } + }