Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Walidacja daty - rezerwacja, walidacja daty
betasap
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 6.04.2011

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


Witam,

jak dodac walidacje do poniższego skryptu sprawdzania daty - tak aby błąd był również w przypadku wyboru daty z przeszłości

  1. if (is_array($value) && isset($value['day']) && isset($value['month']) && isset($value['year'])) {
  2. $day = (int) $value['day'];
  3. $month = (int) $value['month'];
  4. $year = (int) $value['year'];
  5.  
  6. if (checkdate($month, $day, $year)) {
  7. return true;
  8. }
  9. }
  10.  
  11. $this->addMessage($this->_messageTemplates['invalid']);
  12. return false;



z góry dziekuję za pomoc

Go to the top of the page
+Quote Post
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


  1. function checkMyDate($y,$m,$d)
  2. {
  3. $date = new DateTime();
  4. $date->setDate($y,$m,$d);
  5. if($date->getTimestamp() < time()) return false; // Data jest stara
  6. $m = str_pad($m, 2, '0', STR_PAD_LEFT); // Potrzebujemy 01 zamiast 1...
  7. $d = str_pad($d, 2, '0', STR_PAD_LEFT); // Potrzebujemy 01 zamiast 1...
  8. $dateOrig = "{$y}-{$m}-{$d}";
  9. if($dateOrig != $date->format('Y-m-d')) return false; // Data jest niepoprawna (czyli np: 32 luty 2012)
  10. return true; // Data jest ok
  11. }


HTH! wink.gif


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
betasap
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 6.04.2011

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


przerobilem to na to - ale i tak mam problem z if($date->getTimestamp() > time())

jakies wskazowki questionmark.gif?

  1. /**
  2.   * Returns true if the value is a valid date, false otherwise
  3.   *
  4.   * @param array $value
  5.   * @return boolean
  6.   */
  7. public function isValid($value)
  8. {
  9. if (is_array($value) && isset($value['day']) && isset($value['month']) && isset($value['year'])) {
  10. $day = (int) $value['day'];
  11. $month = (int) $value['month'];
  12. $year = (int) $value['year'];
  13. $date = new DateTime();
  14. $date->setDate($year,$month,$day);
  15. if($date->getTimestamp() > time()) {
  16. return true;
  17. }
  18. }
  19.  
  20. $this->addMessage($this->_messageTemplates['invalid']);
  21. return false;
  22.  
  23.  
  24. }
  25.  
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: 20.08.2025 - 14:46