2

Symfony2フォームには、フィールドタイプから次の2つがあります(とりわけ
number :: http://symfony.com/doc/2.0/reference/forms/types/number.html:http://symfony.com/doc/2.0 /reference/forms/types/integer.html
integer

私の質問は、integerタイプがレンダリング<input type="number">され、numberタイプがレンダリング<input type="text">されてHTML5の新しい入力タイプ属性(最小、最大、ステップ)が欠落している理由です。

numberタグをレンダリングするようにフォームタイプを構成するための適切でクリーンな方法はあります<input type="number">か(フォームのテーマは私には少し汚いようです)?

編集
コメントが記載されていても、フィールドテンプレートを変更することが唯一のオプションのようです{# type="number" doesn't work with floats #}

4

1 に答える 1

3

実際にはnumber、属性を設定すれば、それでも機能する可能性がありますstep="any"。ただし、number-widgetのブロックを上書きして、次のように変更できます。

{% block number_widget %}
{% spaceless %}
    {% set type = type|default('number') %}
    {{ block('input') }}
{% endspaceless %}
{% endblock number_widget %}

デフォルトのフォームレイアウトテンプレートを確認するには、次のリンクを確認してください。

https://github.com/symfony/symfony/blob/master/src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig

編集

これは単なる推測ですがnumber、ユーザーを混乱させないように設定されていない可能性があります。英語のシステムを使用している場合、Chromeは1.9のような値を受け入れます。これをドイツ語システムのChromeに入力すると、値はすぐに19に修正されます。ドイツ語のシステムでは、1,9と入力する必要があります。Chromeは送信時にこれを1.9に変更します。頻繁に旅行する経験の浅いユーザーの混乱を想像してみてください。:)

于 2012-10-18T23:08:43.930 に答える