Skip to content

Commit 39b8a9e

Browse files
wimhendrikxnicolas-grekas
authored andcommitted
[TwigBridge] Allow floats in html5 input type number field
1 parent 50b9681 commit 39b8a9e

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

Extension/Core/Type/NumberType.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ public function buildView(FormView $view, FormInterface $form, array $options)
4747
{
4848
if ($options['html5']) {
4949
$view->vars['type'] = 'number';
50+
51+
if (!isset($view->vars['attr']['step'])) {
52+
$view->vars['attr']['step'] = 'any';
53+
}
5054
}
5155
}
5256

Tests/AbstractLayoutTestCase.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1877,6 +1877,26 @@ public function testRenderNumberWithHtml5NumberType()
18771877
$this->assertWidgetMatchesXpath($form->createView(), [],
18781878
'/input
18791879
[@type="number"]
1880+
[@step="any"]
1881+
[@name="name"]
1882+
[@value="1234.56"]
1883+
'
1884+
);
1885+
}
1886+
1887+
public function testRenderNumberWithHtml5NumberTypeAndStepAttribute()
1888+
{
1889+
$this->requiresFeatureSet(403);
1890+
1891+
$form = $this->factory->createNamed('name', 'Symfony\Component\Form\Extension\Core\Type\NumberType', 1234.56, [
1892+
'html5' => true,
1893+
'attr' => ['step' => '0.1'],
1894+
]);
1895+
1896+
$this->assertWidgetMatchesXpath($form->createView(), [],
1897+
'/input
1898+
[@type="number"]
1899+
[@step="0.1"]
18801900
[@name="name"]
18811901
[@value="1234.56"]
18821902
'

0 commit comments

Comments
 (0)