6

这是我的表单构建器代码

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 中将输入类型作为“数字”。

4

3 回答 3

21

您需要使用表单类型“整数”,而不是“数字”。

'number' 表单类型应该用于需要输入的浮点数。text

因此,在您的情况下,正确的代码行是:

$builder->add('phoneAlternative', 'integer', array('max_length'=>15));
于 2013-05-06T10:46:33.327 回答
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 %}
于 2012-04-26T23:23:02.637 回答
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> 
于 2015-02-21T19:03:08.793 回答