Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/10/2011, 12:54
Avatar de masterpuppet
masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Form y pasar MultiOptions a un Select

A ver, primero, esto no entiendo como te funciona:

Código PHP:
Ver original
  1. public function setDefaultsFromEntity($user, $select)
  2. {
  3.     $select = $this->getElement('delegation');
  4.     $select->clearMultiOptions();
  5.     $select->addMultiOptions($select);
  6.     ...
  7. }

si lo tienes tal cual estas pisando $select no debería cargarte el select, y segundo ten en cuenta el orden, deberias agregar primero los elementos y luego validar, en el orden actual estas validando antes de agregarlos. por consiguiente el valor no esta en el array y dispara el validator ;)

Código PHP:
Ver original
  1. public function editAction()
  2. {    
  3.     $form = new Application_Form_UserEdit();
  4.     $form->setDefaultsFromEntity($repository, $select);
  5.     if( $this->getRequest()->isPost()  
  6.                 && $form->isValid($this->getRequest()->getPost()) ) {
  7.         // procesa los datos
  8.         // redirector
  9.     }
  10.     $this->view->formEdit = $form;
  11. }

Te sugiero que extiendas Zend_Form_Multi o Zend_Form_Element_Select para que soporte queries de doctrine, luego con crear el elemento y pasarle la query seria suficiente sin necesidad de agregar los datos en el controller.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)