Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony] Problem z sfValidatorAnd, sfValidatorRegex, się wykrzacza skrypt.. :-/
f4ll3ns3raf1n
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 27.11.2009

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


Witam Was,
przygodę z SF zacząłem z półtora miesiąca temu, metodą prób i błędów wiele problemów udało mi się samemu rozwiązać
ale teraz nie potrafię
tworze ContactForm.php, w którym będą pola email i telefon.
potrzebuję, by jedno z tych pól było uzupełnione, oczywiście poprawnie, lub oba poprawnie,
z tym, że pole telefon oprócz minimalnej i maksymalnej długości, oczywiście sprawdza czy w numerze występują same cyfry.

narazie próbuję sam telefon zwalidować, po min, max, required, pattern i nie idzie mi,
po wpisaniu 9 samych "2", ("222222222") powinno numer przyjąc, a wywala mi info Telefon musi się składać z samych cyfr.'
zresztą przykład na stronie http://ml0dy.linuxpl.com/kontakt (tutaj właśnie to próbuję dograć)
prosze o pomoc

  1. $this->setValidators(array(
  2. 'imie_nazwisko' => new sfValidatorString(
  3. array('required' => true, 'trim' => true, 'min_length' => 7),
  4. array('min_length' => 'Minimalna długość - %min_length% znaków', 'required' => 'Musisz wpisać imię i nazwisko')),
  5.  
  6. 'telefon' => new sfValidatorAnd(array(
  7. new sfValidatorString(
  8. array('required' => false, 'trim' => true, 'min_length' => 9, 'max_length' => 14),
  9. array('min_length' => 'Minimalna długość - %min_length% znaków', 'max_length' => 'Maksymalnie %max_length% znaków', 'required' => 'Musisz wpisać imię i nazwisko')),
  10. new sfValidatorRegex(
  11. array('pattern' => '/^[0-9]{9-14}$/'),
  12. array('invalid' => 'Telefon musi się składać z samych cyfr.'))
  13. )),
  14. 'email' => new sfValidatorEmail(),
  15. 'temat' => new sfValidatorChoice(array('choices' => array_keys(self::$tematy))),
  16. 'tresc' => new sfValidatorString(
  17. array('required' => true, 'trim' => true, 'min_length' => 25),
  18. array('required' => 'Musisz wpisać treść wiadomość!', 'min_length' => 'Treść musi zawierać conajmniej %min_length% znaków.')),


swoją drogą, nie wiem jak poźniej mam zwalidować, czy któreś z pól, wstępnie zwalidowanych, jest nie-puste (warunek walidacji - conajmniej jedno z dwóch)
Go to the top of the page
+Quote Post
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1) Po co w ogóle używasz dwóch walidatorów? Przecież tym sfValidatorString nie robisz niczego czego byś w sfValidatorRegex nie mógł zrobić.
2) W PCRE do określenia długości zbioru używa się następującej składni: {min,max}, nie {min-max}
3) Zarówno telefon jak i email ustawiasz jako opcjonalne. Na końcu dodajesz walidator (setPostValidator), gdzie zdefiniujesz już sobie samemu walidator, który sprawdza czy przynajmniej jedno z pól jest ustawione.
Go to the top of the page
+Quote Post
f4ll3ns3raf1n
post
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 27.11.2009

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


serdecznie dziękuję, sprawa rozwiązania, wczoraj widocznie już za długo siedziałem przy kompie, dziś sam zauważyłem ten problem z min,max :-)
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 Aktualny czas: 21.08.2025 - 06:32