在我的表单类中,我添加了数字字段:
$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”。为什么这样?
答案 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