Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework]Uzupełnenie Zend_Form po nieudanej walidacji, Wpisanie wartości pól aby użytkownik mógł je poprawić...
szparag33
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 27.07.2008

Ostrzeżenie: (0%)
-----


Witam

Chciałbym zrobić w formularzu Zend_Form tak, żeby po nieudanej walidacji formularza, jego pola uzupełniały się podanymi danymi...

Aktualnie po nieudanej walidacji wyskakuje błąd odnośnie walidacji oraz otwiera się formularz - ale nie wypełniony danymi tylko z pustymi polami.


  1. <?php
  2. class Admin_KontaUzytkownikowController extends BaseController {
  3.  
  4.     public function indexAction() {
  5.        $this->render('konta-uzytkownikow', null, true);
  6.    }
  7.  
  8.  
  9.    public function formAction() {
  10.              
  11.        $form = $this->getForm();
  12.  
  13.        $this->view->form = $form;
  14.  
  15.        $this->render('konta-uzytkownikow-form', null, true);
  16.    }
  17.  
  18.  
  19.    public function zapiszAction() {
  20.  
  21.        if(!$this->_request->isPost()) {
  22.            return $this->redirectToController('konta-uzytkownikow/form');
  23.        }
  24.  
  25.        if(!$this->validateForm($this->getForm(), $_POST)) {    
  26.            return $this->redirectToController('konta-uzytkownikow/form');
  27.        }
  28.        
  29.        // Walidacja poprawna - wykonywanie poniżej operacji na danych...
  30.    
  31.    }
  32.  
  33.  
  34.   private function getForm() {
  35.        
  36.        $form = new Zend_Form();
  37.    
  38.        $form->setAction($this->_request->getBaseUrl() . '/'
  39.                        . $this->_request->getControllerName() . '/zapisz')->setMethod('post');
  40.  
  41.        $element_email = $form->createElement('text', 'email', array('class' => 'text'));
  42.        $element_email->addValidator('EmailAddress')
  43.              ->setRequired(true)
  44.                ->addFilter('StringToLower')
  45.              ->addFilter('StringTrim')
  46.              ->setLabel('E-mail');
  47.              
  48.        
  49.        $element_opis = $form->createElement('text', 'opis', array('class' => 'text'));
  50.        $element_opis->setRequired(true)
  51.              ->addFilter('StringTrim')
  52.              ->setLabel('Opis konta użytkownika');
  53.        
  54.    
  55.        $element_submit = $form->createElement('button', 'ZAPISZ', array('type' => 'submit', 'class' => 'button'));
  56.        $form->addElement( $element_email )->addElement( $element_opis )->addElement( $element_submit );
  57.        return $form;
  58.   }
  59.  
  60.  
  61. }
  62. ?>

Jaki jest najlepszy sposób na uzupełnienie pól formularza po nieudanej walidacji ?

Szkoda, że przekierowaniu do kontrolera/akcji, które występuje w zapiszAction w otworzonej akcji budującej formularz nie mogę już dostać się do danych z tablicy _POST, czyli tych, które wypełniono w formularzu...

Napewno jest jakieś proste i sprawdzone rozwiązanie, proszę o pomoc.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 10:13