Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZendFramework] Zend_Validate_Identical
ximus
post 6.10.2009, 22:43:10
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.10.2009

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


Witam serdecznie,

korzystam z Zend_Form do tworzenia formularzy. W celu czytelniejszego kodu tworzę klasy rozszerzające Zend_Form. Chciałem użyć walidatora Zend_Validate_Identical - jak się odwołać w takiej klasie do elementu z formularza?

  1. class Form_Auth_Register extends Zend_Form {
  2. public function init() {
  3. $this->setMethod('post');
  4. $login = new Zend_Form_Element_Text('login');
  5. $login->setLabel('Login')
  6. ->setRequired(true)
  7. ->addValidator(new Zend_Validate_NotEmpty(), true)
  8. ->addValidator(new Zend_Validate_StringLength(5, 100), true)
  9. ->addFilter(new Zend_Filter_StripTags())
  10. ->addFilter(new Zend_Filter_StringTrim());
  11.  
  12. $pass1 = new Zend_Form_Element_Password('pass1');
  13. $pass1->setLabel('Hasło')
  14. ->addValidator(new Zend_Validate_StringLength(6))
  15. ->setRequired(true);
  16.  
  17. $pass2 = new Zend_Form_Element_Password('pass2');
  18. $pass2->setLabel('Powtórz hasło')
  19. ->setRequired(true)
  20. ->addValidator(new Zend_Validate_Identical( $_POST['pass1'] )); //_próbowałem także $pass1->getValue(); ale bez rezultatów_____________________
  21.  
  22. $submit = new Zend_Form_Element_Submit('btnsubmit');
  23. $submit->setLabel('Rejestruj');
  24.  
  25. $this->addElement($login);
  26. $this->addElement($pass1);
  27. $this->addElement($pass2);
  28. $this->addElement($submit);
  29.  
  30. }
  31. }


Ten post edytował batman 7.10.2009, 07:23:01
Powód edycji: [batman]: ortografia
Go to the top of the page
+Quote Post
batman
post 7.10.2009, 07:22:27
Post #2





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




Do tego możesz stworzyć własny walidator, który korzysta z opcjonalnego argumentu metody isValid() - $context.
Więcej informacji znajdziesz w dokumentacji.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
ximus
post 7.10.2009, 11:05:59
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.10.2009

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


Chciałem skorzystać z gotowego rozwiązania jakim jest Zend_Validate_Identical - nie mogę się tylko dostać do tablicy POST poprzez Zend'owe mechanizmy - istnieje może jakieś jeszcze inne rozwiązanie?
Go to the top of the page
+Quote Post
seth-kk
post 7.10.2009, 11:50:38
Post #4





Grupa: Zarejestrowani
Postów: 444
Pomógł: 79
Dołączył: 26.05.2009

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


dlaczego do $_POSTa? skoro pass2 jest w formularzu to pass1 pewnie tez
parametry z posta wyciaga sie przez request ktory mozna wyciagnac z front controllera


--------------------
Go to the top of the page
+Quote Post
ximus
post 9.10.2009, 12:55:00
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 1.10.2009

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


Cytat(seth-kk @ 7.10.2009, 12:50:38 ) *
dlaczego do $_POSTa? skoro pass2 jest w formularzu to pass1 pewnie tez
parametry z posta wyciaga sie przez request ktory mozna wyciagnac z front controllera



No właśnie - tylko jak to wyciągnąć - może jakaś podpowiedź? winksmiley.jpg jestem początkujący w ZF...

Ku pamięci:
Zend_Controller_Front::getInstance()->getRequest()->getParam('pass1', '')

Ten post edytował ximus 9.10.2009, 22:43:09
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:08