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
destroyerr
post
Post #2





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

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


Przede wszystkim powinieneś raczej mieć strtotime('-1 week'). Powinno działać.

Jeśli chodzi o sprawdzanie daty, to masz na myśli to żeby ktoś nie wybrał 30 lutego? W takim razie to jest sprawdzane automatycznie, bez konieczności ustalania min i max. To wszystko można zobaczyć w kodzie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
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: 28.12.2025 - 06:26