Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony] problemy z sfValidatorDate (S 1.1)
phpion
post
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Witam,
mam drobne problem z rozkminieniem użycia walidatora daty. Otóż mam pole typu text, w którym wpisuję datę. Chciałbym aby:
[*] data była w formacie Y-m-d
[*] nie można było wpisać daty wcześniejszej niż 7 dni od dnia bieżącego
[*] nie można było wpisać daty późniejszej niż 31 dni od dnia bieżącego
Mam takie coś:
  1. <?php
  2. $this->setValidators(array(      
  3.      'send_at'               => new sfValidatorDate(array(
  4.            'date_format' => '/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/',
  5.            'min' => strtotime('+1 week')
  6.        ))
  7.        ));
  8.  
  9.        $this->validatorSchema['send_at']->setMessages(array(
  10.            'required' => 'Podaj datę wysyłki',
  11.            'bad_format'  => 'Data wysyłki powinna mieć format YYYY-MM-DD',
  12.            'min' => 'Minimalny czas wysyłki dla przyjmowanych zleceń to 7 dni od dnia dzisiejszego (minimalny termin to '.date('Y-m-d', strtotime('+1 week')).')',
  13.        ));
  14. ?>

Sprawdzenie wymagalności oraz formatu działa bez zarzutu, natomiast jakiejkolwiek daty bym nie wpisał zawsze otrzymam komunikat o tym, że data jest za wczesna. Jak temu zaradzić? Co robię źle?
I jeszcze przy okazji: jak sprawdzić czy wpisana data faktycznie istnieje? Rozumiem, że przy uruchomieniu 'min' oraz 'max' zostanie to automatycznie sprawdzone ale pytam z czystem ciekawości.

Pozdrawiam,
pion
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Tak, korzystam ze zwykłego inputa. Dzięki za sugestię, jutro sprawdzę czy Twój zabieg pomoże.

// Dziś:
Twoja modyfikacja działa. Działa ale tylko na localu, a na serwerze docelowym wywala cały czas błąd formatu daty :/ Domyślam się, że problemem są te <year> bo po ich usunięciu walidacja na etapie formatu przechodzi pomyślnie.
Na localu mam PHP 5.2.6, a na serwerze jest 5.1.6. Jednak z tego co wyczytałem:
Cytat
And first of all, the next version of symfony, the 1.1, released at the end of the Summer, will require at least PHP 5.1.0.

więc teoretycznie wymagania są spełnione (a korzystam z S 1.1.2). Co w takiej sytuacji?
:|
pion
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 19:42