2013-03-18 121 views
0

嗨,我試圖做一個驗證的形式。窗體渲染自定義symfony2

我有這樣的形式:

<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> 
    <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

爲什麼

  • Lascontraseñasdeben ser iguales。
不在裏面的div密碼? – faisbu 2013-03-18 16:32:38

回答

0

你的if語句把錯誤在div在一種情況下,另一股利外(其實也不能確定,因爲你沒有張貼整個表單。)

{% 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) }}