Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework]Formularz rejestracyjny
sweter
post
Post #1





Grupa: Zarejestrowani
Postów: 623
Pomógł: 11
Dołączył: 1.01.2009
Skąd: Wrocław

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


Witam,
chciałbym wiedzieć jak "kazać" formularzowi sprawdzić, czy dwa pola mają taką samą zawartość (np. pola "Hasło" i "Powtórz hasło").
Kod odpowiedzialny za walidiację zawsze mam na końcu pliku z formularzem, np.:
  1.  
  2. $haslo->getValidator('StringLength')->setMessages(array(
  3. Zend_Validate_StringLength::TOO_SHORT => 'Hasło musi być dłuższe niż 6 znaków.'
  4. ));

Tak więc można to zrobić za pomocą jakichś metod Zend'a, czy trzeba kombinować?
Z góry dziękuję za odpowiedź (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
legorek
post
Post #2





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

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


Zend_Validate_Identical (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
batman
post
Post #3





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Cytat(legorek @ 3.08.2010, 14:56:36 ) *
Zend_Validate_Identical (IMG:style_emoticons/default/smile.gif)

Tym walidatorem nie sprawdzisz, czy podane hasła są identyczne. Musisz napisać własny walidator. Przykład i gotowy kod znajdziesz tutaj - http://framework.zend.com/manual/en/zend.f...ents.validators.
Go to the top of the page
+Quote Post
legorek
post
Post #4





Grupa: Zarejestrowani
Postów: 411
Pomógł: 35
Dołączył: 27.06.2004
Skąd: Kraków

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


@Batman, oczywiście można mało tego jest co najmniej 3 sposoby żeby to zrobić: można pisać własny validator, można nadpisać metodę isValid formularza lub tak jak poniżej (18 linijka):

  1. class Application_Form_Password extends Zend_Form
  2. {
  3.  
  4. public function init()
  5. {
  6. $this->addElement('password', 'password', array(
  7. 'label' => 'password',
  8. 'required' => true,
  9. 'filters' => array('StringTrim'),
  10. 'validators' => array(array('StringLength', false, array(8, 255)))
  11. ));
  12. $this->addElement('password', 'password_repeat', array(
  13. 'label' => 'password_repeat',
  14. 'required' => true,
  15. 'filters' => array('StringTrim'),
  16. 'validators' => array(
  17. array('StringLength', false, array(8, 255)),
  18. array('Identical', false, Zend_Controller_Front::getInstance()->getRequest()->getParam('password')),
  19. )
  20. ));
  21. $this->addElement('submit', 'submit', array(
  22. 'ignore' => true,
  23. 'label' => 'ustaw_haslo',
  24. ));
  25. }
  26. }
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.12.2025 - 16:29