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

ignorar formulario embebido cuando no introducen ningun dato

Estas en el tema de ignorar formulario embebido cuando no introducen ningun dato en el foro de Symfony en Foros del Web. Buenas, estoy embebiendo un formulario "ObservacionForm" que unicamente muestra un campo "descripcion" dentro de otro "ClienteForm", de forma que en el ClienteForm se pueda añadir ...
  #1 (permalink)  
Antiguo 30/04/2011, 12:28
 
Fecha de Ingreso: noviembre-2002
Mensajes: 224
Antigüedad: 22 años, 1 mes
Puntos: 1
ignorar formulario embebido cuando no introducen ningun dato

Buenas,

estoy embebiendo un formulario "ObservacionForm" que unicamente muestra un campo "descripcion" dentro de otro "ClienteForm", de forma que en el ClienteForm se pueda añadir una observacion. Hasta aquí, todo va bien, y se guarda todo bien, el problema es que el campo "descripcion" de ObservacionForm no es obligatorio, y a mi me crea un registro de observacion tanto si entran una observacion, como si no la entran.

Para realizar todo esto he seguido exactamente cada uno de los pasos que se indica en la documentacion de symfony en la página http://www.symfony-project.org/more-...Advanced-Forms, y también las instrucciones bajo el subtitulo "Ignorando los formularios embebidos", el cual explica cómo hacer el unset de los
formularios embebidos que deseamos ignorar, y lo extraño es que el unset me lo hace bien (lo he comprobado), pero aún asi sigue guardandome el registro de ObservacionForm con una descripcion vacia.

Alguien puede ayudarme a averiguar porque sigue guardando el registro?? Éste problema lo tengo con más de un formulario embebido en
mi aplicación, y en TODOS me pasa lo mismo, a pesar de que en todos se realiza el unset del formulario en cuestión.

¿Es posible que sea porque en la documentación utilizan Doctrine y yo utilizo Propel y tenga que hacer algun paso más que no estoy haciendo?

Muchas gracias
  #2 (permalink)  
Antiguo 30/04/2011, 18:14
 
Fecha de Ingreso: noviembre-2002
Mensajes: 224
Antigüedad: 22 años, 1 mes
Puntos: 1
Respuesta: ignorar formulario embebido cuando no introducen ningun dato

Al final lo resolví así:


En model/Observacion.php


public function save(PropelPDO $con = null) {

$this->setDescripcion(trim($this->getDescripcion()));
if($this->getDescripcion()){
return parent::save();
}else {
return null;
}
}

Y con eso ya no hace falta ni el post validator ni sobreescribir el saveEmbeddedForms.

No sé si alguien tiene una forma mejor, pero es la única que me ha funcionado.

Etiquetas: dato, ignorar, php, 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 01:31.