1

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

$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"。为什么这样?

4

2 回答 2

3

symfony 形式中实际上有两个选项,一个是整数,另一个是数字。Number 主要用于小数点值。而整数仅适用于整数。如果您希望整数与整数一起使用,则可以选择自动四舍五入的数字。

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

输入类型编号是我个人不喜欢的,因为它仅由少数浏览器实现,您希望在所有浏览器中看起来都相似。这些东西实际上甚至可能会让普通用户感到困惑。

于 2013-04-12T04:19:33.020 回答
0

number 类型的字段是这样显示的(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

于 2013-04-12T03:10:53.303 回答