twig将数字字段呈现为文本

时间:2013-04-12 01:37:19

标签: forms symfony twig

在我的表单类中,我添加了数字字段:

$builder->add('total_amount', 'number', array('required' => false));

在我的表单模板中:

{{ form_widget(form.total_amount, {'attr': {'class': 'field number_field'}}) }}

但是,我的页面来源显示:

<input type="text" id="ResearchDataForm_total_amount" 
    name="ResearchDataForm[total_amount]" class="field number_field" value="0" />

我期望type =“number”,但它呈现为type =“text”。为什么这样?

2 个答案:

答案 0 :(得分:3)

symfony中实际上有两个选项,一个是整数,另一个是数字。 Number主要用于小数点值。而整数仅适用于整数。如果你想整数用整数,它有选项自动舍入数字。

在您检查此链接之前 http://symfony.com/doc/current/reference/forms/types/integer.html

输入类型编号是我个人不喜欢的,因为它仅由少数浏览器实现,并且您希望所有浏览器看起来相似。实际上,这些事情甚至可能会使一般用户感到困惑。

答案 1 :(得分:0)

类型编号的字段显示如下(type =“text”),不用担心,因为如果用户输入的内容不是数字,则会失败:

This value is not valid. 

http://symfony.com/doc/current/book/forms.html#text-fields

http://symfony.com/doc/current/reference/forms/types/number.html