Witam.

Potrzebuję napisać własny validator do formularza który składa się z 2 pól tekstowych do wpisywania ilości dzieci i ich wieku. Posiadam takie coś:

Plik sfChildAgeValidator.class.php:
  1. <?php
  2. class sfChildAgeValidator extends sfValidator {
  3. public function execute (&$value, &$error) {
  4.  
  5. if ($value == $this->getParameter('child_number')) {
  6. $error = $this->getParameter('child_age_error');
  7.  
  8. return false;
  9. }
  10. elseif ($value > $this->getParameter('child_max_age')) {
  11. $error = $this->getParameter('child_max_age_error');
  12.  
  13. return false;
  14. }
  15.  
  16. return true;
  17. }
  18. ?>


Oraz mój plik .yml:

  1. <?php
  2. child_number:
  3. required:
  4. msg:  Podaj ilo&#347;ć dzieci
  5. sfNumberValidator:
  6. nan_error: Prosz&#281; wprowadzić wartość liczbową
  7. max: 50
  8. max_error: Podano zbyt du&#380;ą liczbę
  9. child_age:
  10. required:
  11. msg:  Podaj wiek dzieci
  12. sfChildAgeValidator:
  13. child_age_error:  TEST!!
  14. child_max_age:  12
  15. child_max_age_error: Wiek dziecka to maksymalnie 12 lat
  16. ?>


Wszystko działa poza tym że nie widzi tego: $this->getParameter('child_number'). Child_number pochodzi z drugiego inputa. Jak się do niego w validatorze dostać?

Z góry dzięki za pomoc guitar.gif


NIEAKTUALNE!! Odpowiedź: $context. Dzieki dla phpiona!! :*