我有这个领域,
->add('number', 'number', array(
'label' => false,
'attr' => array('class' => 'producto', 'type' => 'number')))
我希望添加type="number"
属性,使用向下/向上的小箭头增加和减少内部数字,但我得到一个输入类型=" text"属性:
<input type="text" value="11" class="producto form-control" required="required" name="project_backendbundle_pedido[pedidoSubitems][0][number]" id="project_backendbundle_pedido_pedidoSubitems_0_number">
答案 0 :(得分:7)
type
属性是通过您选择的窗口小部件类型设置的。要获得type="number"
,您需要选择integer
作为窗口小部件类型。令人困惑,我知道..
但是看看official symfony page。所以你的代码应该是这样的:
->add('number', 'integer', array(
'label' => false,
'attr' => array('class' => 'producto'),
))
答案 1 :(得分:0)
要获得您需要的类型编号(对于symfony 2.8):
在表单构建器中使用以下参数:
->add('fixedCharge', 'number', array(
'required' => true,
'rounding_mode' => 0,
'precision' => 2,
'scale' => 7,
'attr' => array(
'min' => -90,
'max' => 90,
'step' => 0.01,
),
))
在twig中明确定义为数字:
{{ form_widget(form.fixedCharge, { 'type':'number' }) }}
此外,对于忽略HTML5验证的浏览器,您还可以在实体字段上添加服务器端验证:
@Assert\Type(type="float", message="must be a numeric value")