您好我正在尝试制作带验证的表单。
我有这样的表格:
<form class="formulario" id="modificarmedico" action="{{ path('medico_update', { 'id': entity.id }) }}" method="post" {{ form_enctype(edit_form) }}>
<div id="mio_miobundle_medicotype">
{{ form_row(edit_form.username) }}
{{ form_row(edit_form.dni) }}
{{ form_row(edit_form.nombre) }}
{{ form_row(edit_form.apellido1) }}
{{ form_row(edit_form.apellido2) }}
{{ form_row(edit_form.localidad) }}
{{ form_row(edit_form.provincia) }}
{{ form_row(edit_form.direccion) }}
{{ form_row(edit_form.email) }}
{{ form_row(edit_form.telefono) }}
{{ form_row(edit_form.movil) }}
{{ form_row(edit_form.titulacion)}}
{{ form_row(edit_form.numero)}}
{{ form_row(edit_form.fechaalta)}}
{{ form_row(edit_form.idioma)}}
{{ form_row(edit_form.tema)}}
{{ form_row(edit_form.color)}}
{% if is_granted('ROLE_A') %}
{% if entity.id == app.user.id %}
{{ form_row(edit_form.password) }}
{{ form_errors(form.password) }}
<div class="empoculto">
{{ form_row(edit_form.activo) }}
{{ form_row(edit_form.generar) }}
</div>
{% else %}
{{ form_row(edit_form.generar) }}
{{ form_row(edit_form.activo) }}
<div class="empoculto">
{{ form_row(edit_form.password) }}
</div>
{% endif %}
{% else %}
{{ form_row(edit_form.password) }}
{{ form_row(edit_form.password) }}
<div class="empoculto">
{{ form_row(edit_form.generar) }}
{{ form_row(edit_form.activo) }}
</div>
{% endif %}
但密码错误显示我在div之外。与其他领域不一样:
<div>
<label for="mio_miobundle_medicotype_movil" class=" required">Móvil</label>
<ul>
<li>El campo debe tener 9 números.</li>
<li>El campo debe tener sólo números.</li>
</ul>
<input type="text" id="mio_miobundle_medicotype_movil" name="mio_miobundle_medicotype[movil]" required="required" maxlength="9" value="fgadfg" />
</div>
<div><label for="mio_miobundle_medicotype_color" class=" required">Color*</label><input type="text" id="mio_miobundle_medicotype_color" name="mio_miobundle_medicotype[color]" required="required" value="#1153ed" /></div>
<ul>
<li>Las contraseñas deben ser iguales.</li>
</ul>
<div><label for="mio_miobundle_medicotype_password_Nueva contraseña" class=" required">Nueva contraseña</label><input type="password" id="mio_miobundle_medicotype_password_Nueva contraseña" name="mio_miobundle_medicotype[password][Nueva contraseña]" required="required" /></div>
<div><label for="mio_miobundle_medicotype_password_Repite contraseña" class=" required">Repite contraseña</label><input type="password" id="mio_miobundle_medicotype_password_Repite contraseña" name="mio_miobundle_medicotype[password][Repite contraseña]" required="required" /></div>
我尝试了form_bubbling symfony2,但没有解决我的问题。 感谢。
答案 0 :(得分:0)
你的if语句将div中的错误放在一个case中,而div放在另一个case中(实际上由于你没有发布整个表单,所以无法确定。)
{% if entity.id == app.user.id %}
{{ form_row(edit_form.password) }}
{{ form_errors(form.password) }} {# part of only one condition #}
<div class="empoculto"> {# specifically handled here #}
{{ form_row(edit_form.activo) }}
{{ form_row(edit_form.generar) }}
</div>
{% else %}
{{ form_row(edit_form.generar) }}
{{ form_row(edit_form.activo) }}
<div class="empoculto"> {# how to handle errors #}
{{ form_row(edit_form.password) }} {# not specified here #}
</div> {# probably handled by #}
{% endif %} {# form default #}
另外
{{ form_errors(form.password) }}
应该是
{{ form_errors(edit_form.password) }}