Foros del Web » Programando para Internet » PHP » Symfony »

recuperar campos checkbox formulario

Estas en el tema de recuperar campos checkbox formulario en el foro de Symfony en Foros del Web. Hola. Espero podáis ayudarme con esta duda. Tengo un formulario que he creado así, en mi controlador: Código PHP: $formulario  =  $this -> createForm (...)  ...
  #1 (permalink)  
Antiguo 29/08/2013, 05:23
Avatar de mj1984  
Fecha de Ingreso: septiembre-2008
Mensajes: 129
Antigüedad: 15 años, 8 meses
Puntos: 0
recuperar campos checkbox formulario

Hola. Espero podáis ayudarme con esta duda.
Tengo un formulario que he creado así, en mi controlador:
Código PHP:
$formulario $this->createForm(...) 
En él, tengo algunos campos de tipo checkbox. En el controlador, quiero recuperar el valor de dichos checkbox. Lo hago dentro del if siguiente:
Código PHP:
if ($request->getMethod() == 'POST') {
                
$postData $request->request->get($formulario->getName());
                
// Recupero el campo checkbox
                
$valor $postData['nombre_campo'];
            } 
El problema es que cuando el checlbox no está checkeado, parece ser que ese campo no se envía en el post del formulario.
Por lo tanto creo que mi pregunta es: ¿Cómo puedo saber si un campo se envía o no?

Muchas gracias.
  #2 (permalink)  
Antiguo 01/09/2013, 13:41
Avatar de fhederico  
Fecha de Ingreso: agosto-2009
Mensajes: 247
Antigüedad: 14 años, 8 meses
Puntos: 23
Respuesta: recuperar campos checkbox formulario

Hola,

Si entiendo bien, no estas recuperando bien los datos del formulario, me explico, tu creas tu formulario

Código:
$formulario = $this->createForm(...)
Y cuando se envie el Formulario debes capturar esto asi

Código:
$request = $this->getRequest();

$formulario = $this->createForm(...)  

//Evaluamos si se envio
 if($request->getMethod() === 'POST')
 {
     //Hace el match entre tu formulario y los datos que se enviaron
      $formulario ->bind($request);

     //La variable "formulario" ahora contiene todos los datos enviados
    //Tambien puedes trabajar directamente con estos
    $datos = $formulario->getData();
 }
Te recomiendo que instales el Bundle "LadybugDump"

https://github.com/raulfraile/LadybugBundle

Es MUY bueno para debugear, por ejemplo una vez instalado haces un

Código:
ladybug_dump( $formulario); //Solo Muestra
ladybug_dump_die( $formulario); //Muestra y detiene la ejecucion del codigo
Y podras ver todos los datos, metodos y otras cosas que se enviaron de una forma ordenada y muy legible, es como utilizar var_dump + exit()

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

Etiquetas: campos, checkbox, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:15.