Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] Zend_Validate_Identical
Forum PHP.pl > Forum > PHP > Frameworki
ximus
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. }
batman
Do tego możesz stworzyć własny walidator, który korzysta z opcjonalnego argumentu metody isValid() - $context.
Więcej informacji znajdziesz w dokumentacji.
ximus
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?
seth-kk
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
ximus
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', '')
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.