Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/04/2011, 19:39
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Zend_Validate_Callback

Pues fijate nunca me ha salido. ¿Donde se supone que salga? Yo lo que hago es algo super sencillo

/reports/controllers/fooController.php
Código PHP:
Ver original
  1. .....
  2. public function indexAction()
  3. {
  4.     $form = new Reports_Form_Foo;
  5.     $form->setAction('/reports/foo/index');
  6.     $this->view->form = $form;
  7.  
  8.     $extraValid = new Zend_Validate_Callback(new Reports_Model_ExtraValidate);
  9.     if($this->getRequest()->isPost()){
  10.         if($form->isValid($this->getRequest()->getPost()) && $extraValid->isValid($this->getRequest()->getPost())){
  11.             $form = $form->getValues();
  12.             .......
  13.         }
  14.     }
  15. }
  16. ......

/reports/models/ExtraValidate.php
Código PHP:
Ver original
  1. <?php
  2. class Reports_Model_ExtraValidate
  3. {
  4.     public function __invoke($post)
  5.     {
  6.         /**
  7.          * Verificar si existe el campo porque está disable y dependiendo de lo
  8.          * que haya seleccionado se muestra el campo, y si está activado entonces
  9.          * es requisito seleccionar un valor (es un dropdown)
  10.          */
  11.         if(isset($post['foo']) && empty($post['foo'])){
  12.             return false;
  13.         }
  14.         return true;
  15.     }
  16. }

No me muestra ningún mensaje en el formulario Sí me muestra el de $form->isValid pero el de $extraValid->isValid no. Y si se puede, ¿cómo hago para personalizar un mensaje, usando Zend_Validate_Callback?

Edito: Como que últimamente no se me entiende lo que digo, voy a tener que dejar de decir las cosas tan específicas
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 22/04/2011 a las 21:48 Razón: corregir código