我正在使用Symfony 3.4,我遇到了NumberType Form Field的问题,它正在呈现文本输入:
->add('prixUnit', NumberType::class, array(
'scale' => 3,
'attr' => array(
"min" => 0,
"scale" => 3,
"step" => 0.001,
"placeholder" => "0.000",
)
))
{{ form_widget(form.prixUnit, {'attr': {'class': 'form-control'}}) }}
<input type="text" id="appbundle_arrivage_elementArrivages_2_prixUnit" name="appbundle_arrivage[elementArrivages][2][prixUnit]" required="required" min="0" scale="3" step="0.001" placeholder="0.000" class="form-control prixUnit" value="500.011">
在记录时,我找到了一个对我不起作用的解决方案:
{% block number_widget %}
<div class="number_widget">
{% set type = type|default('number') %}
{{ block('form_widget_simple') }}
</div>
{% endblock %}
{{ form_start(form) }}
{{ form_row(form) }}
{{ form_end(form) }}
我找到的唯一解决方案是一个不干净的解决方案:
//forcing type when loading DOM:
$('#appbundle_arrivage_elementArrivages_2_prixUnit').prop('type', 'number');
有没有人有干净的解决方案?
答案 0 :(得分:0)
基于Symfony的文档:
呈现输入文本字段,专门处理数字输入。
https://symfony.com/doc/3.4/reference/forms/types/number.html
如果您有文字输入,那就没问题了。 Symfony在提交时会检查它是否是数字而不是字符串