这是我的表单构建器代码
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('phoneAlternative', 'number',array('max_length'=>15));
$builder->add('emailPersonal', 'email');
$builder->add('addressCurrent', 'textarea');
}
这是html标记
<input id="employee_phoneAlternative" type="text" maxlength="15" required="required" name="employee[phoneAlternative]" class="valid">
任何人都建议我。为什么输入类型给出“文本”,因为我给出了一个数字。建筑形式。我将如何使用表单构建器在symfony2中将输入类型作为“数字”。
答案 0 :(得分:19)
您需要使用表单类型“integer”,而不是“number”。
'number'表单类型应该用于浮动,这需要输入text
。
所以你的案例中的正确代码行是:
$builder->add('phoneAlternative', 'integer', array('max_length'=>15));
答案 1 :(得分:2)
您可以通过覆盖表单主题模板(http://symfony.com/doc/current/book/forms.html,'表单主题'部分)来完成此操作。 在您的示例中,要创建的块是'number_widget':
{% block number_widget %}
{% spaceless %}
{% set type = type|default('number') %}
{{ block('input') }}
{% endspaceless %}
{% endblock number_widget %}
答案 2 :(得分:1)
你必须这样做
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('phoneAlternative', 'integer',array('max_length'=>15));
$builder->add('emailPersonal', 'email');
$builder->add('addressCurrent', 'textarea');
}
或者您可以使用输入
在html.twig中创建表单 phoneAlternative: <input type="Number" required>