how to get input type is number using form in symfony2?
17,544
Solution 1
You need to use the form type 'integer', rather than 'number'.
'number' form types should be used for floats, which require a text
input.
So the correct line of code in your case would be:
$builder->add('phoneAlternative', 'integer', array('max_length'=>15));
Solution 2
You can do this by overriding the form theme template (http://symfony.com/doc/current/book/forms.html, 'Form theming' section). In your example, the block to create is 'number_widget':
{% block number_widget %}
{% spaceless %}
{% set type = type|default('number') %}
{{ block('input') }}
{% endspaceless %}
{% endblock number_widget %}
Solution 3
you have to do like that
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('phoneAlternative', 'integer',array('max_length'=>15));
$builder->add('emailPersonal', 'email');
$builder->add('addressCurrent', 'textarea');
}
or you can create your form in html.twig using the input
phoneAlternative: <input type="Number" required>
Author by
Rajesh Vasani
Updated on July 01, 2022Comments
-
Rajesh Vasani almost 2 years
This is my form builder code
public function buildForm(FormBuilder $builder, array $options) { $builder->add('phoneAlternative', 'number',array('max_length'=>15)); $builder->add('emailPersonal', 'email'); $builder->add('addressCurrent', 'textarea'); }
This is html markup
<input id="employee_phoneAlternative" type="text" maxlength="15" required="required" name="employee[phoneAlternative]" class="valid">
Any one suggest me. why input type is giving "text" since, I have given as a number. while building form. how i will get input type as "number" in symfony2 using form builder.
-
KingCrunch almost 11 yearsBeside that: Both
number
andinteger
aren't useful for phone numbers, because users are used to fill in formatted phone numbers like+49 (30) 123 456
-
M Gholami about 8 yearsuse can use Regex constraint for phone numbers
-
Samuel Vicent about 7 yearsAs a note, latest Symfony versions require 'integer' to be written like: Symfony\Component\Form\Extension\Core\Type\IntegerType::class
-
Guillaume Renoult over 5 yearsNote that your phone number will be transformed to an int, so
0123
will become123
.