Ver Mensaje Individual
  #9 (permalink)  
Antiguo 24/07/2014, 08:48
Avatar de fhederico
fhederico
 
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 15 años, 4 meses
Puntos: 23
Respuesta: Campo password vacio

Estimado,

Una consulta, tu formulario que campos muestra? o es solo para cambiar la password?? porque la verdad es que esta muy extraño xD

Te dejare una correcion basica, pero la logica interna de cuando se envia tu formulario no esta correcta tampoco, pero necesito saber la respuesta a la pregunta que te hago arriba primero.

Controller

Código PHP:
Ver original
  1. public function perfilAction()
  2. {
  3.         //Request actual
  4.     $request = $this->getRequest();
  5.     //Datos de la sesion del usuario que esta logueado actualmente
  6.     $usuario = $this->getUser();
  7.  
  8.         //Creamos el formulario
  9.     $form   = $this->createForm(new UsuarioPerfilType(), $usuario);
  10.        
  11.     $form->handleRequest($request);
  12.        
  13.     if ($form->isValid())
  14.        {
  15.             exit("ok, se envio");
  16.     }
  17.        
  18.     return $this->render('UsuariosBundle:Default:perfil.html.twig', array(
  19.         'usuario' => $usuario,
  20.         'form' => $form->createView()
  21.     ));
  22. }

NOTA: Fijate que cambie "formulario" por "form", asi que para la plantilla debera ir el nombre que tu indicas ahi

En tu UsuarioPerfilType, asumo que solo tiene dos campos por ahora a mostrar, tu deberas agregarle el tema de los botones "enviar", yo asumo que ya los tienes ahi agregados

Código PHP:
Ver original
  1. $builder->add('username', null, array('label'  => 'Nombre de Usuario'));
  2.        
  3.         $builder->add('password', 'repeated', array(
  4.                 'type' => 'password',
  5.                 'first_options'  => array('label' => 'Contraseña'),
  6.                 'second_options' => array('label' => 'Repita Contraseña'),
  7.                 'invalid_message' => 'Las Contraseñas no son iguales',
  8.             ));

Plantilla Twig o vista, como es una prueba podemos poner que el nos genere todo

Código HTML:
Ver original
  1. {{ form_rest(form) }}

Ahora si quieres mostrar los dos campos

Código HTML:
Ver original
  1. {# Username #}
  2. {{ form_label(form.username, null, {'label_attr': {'class': 'div_cvEstandar_label'}}) }}
  3. {{ form_widget(form.username, {'attr': {'class': 'div_cvEstandar_input'}}) }}
  4. <div class="msgbox error">{{ form_errors(form.username) }}</div>
  5.  
  6. {# Password Uno #}
  7.  
  8. {{ form_label(form.password.first, null, {'label_attr': {'class': 'div_cvEstandar_label'}}) }}
  9. {{ form_widget(form.password.first, {'attr': {'class': 'div_cvEstandar_input'}}) }}
  10.  
  11. {# Password Dos - repetir Pass #}
  12. {{ form_label(form.password.second, null, {'label_attr': {'class': 'div_cvEstandar_label'}}) }}
  13. {{ form_widget(form.password.second, {'attr': {'class': 'div_cvEstandar_input'}}) }}
  14. <div class="msgbox error">{{ form_errors(form.password.first) }}</div>


Fijarse que yo le agrego algunos estilos css con "attr" o "label_attr" o el mismo "msgbox error" esto lo puedes dejar o quitar, eso obviamente se debe adaptar a lo que requieras

Saludos
__________________
Si encuentras que tu pregunta fue respondida, se agradeceria enormemente que la marcaras como solucionada... si... es el boton verde gigante que esta al final de la pagina :)