在Symfony2表单中,您有以下两种字段类型(其中包括):
number
:http://symfony.com/doc/2.0/reference/forms/types/number.html
integer
:http://symfony.com/doc/2.0/reference/forms/types/integer.html
我的问题是integer
类型呈现<input type="number">
和number
类型呈现<input type="text">
因此缺少HTML5新输入类型属性(min,max,step)的原因?
是否有一种体面而干净的方式来配置number
表单类型来呈现<input type="number">
标记(形式主题对我来说似乎有点脏)?
修改
似乎更改字段模板是唯一的选择,即使它声明了评论{# type="number" doesn't work with floats #}
答案 0 :(得分:3)
实际上,如果他们设置属性number
,它也适用于step="any"
。但是,您可以覆盖number
- 窗口小部件的块,并将其更改为:
{% block number_widget %}
{% spaceless %}
{% set type = type|default('number') %}
{{ block('input') }}
{% endspaceless %}
{% endblock number_widget %}
选中此链接,查看默认表单布局模板:
修改强>
这只是一个疯狂的猜测,但也许他们没有设置number
以免混淆用户。
当您使用英语系统时,Chrome会接受 1.9 之类的值。当您在德国系统上将其键入Chrome时,该值将立即更正为 19 。在德国系统上,您必须输入 1,9 。 Chrome会在提交时将其更改为 1.9 。想象一下,对于经常旅行的无经验用户来说,这会让他们感到困惑。 :)