Validace položky formuláře regulárním výrazem

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
radas
Člen | 225
+
0
-

Ahoj, mám formulář, kde validuju textové pole s datem a časem v požadovaném formátu „dd.mm.rrrr hh:mm“ (bez uvozovek). Validaci nastavuju takto:

->addRule($form::PATTERN, 'Položka "%label" není správně vyplněná.', '[0-9]{2}\.[0-9]{2}\.[0-9]{4} [012]{1}[0-9]{1}\:[0-5]{1}[0-9]{1}');

Při zadané hodnotě 10.02.2012 19:35 javascriptová validace projde, ale ta na straně serveru bohužel ne. Regulární výraz jsem testoval na www.regexp.cz a prošel jak javascriptovým testem tak i PHP preg a PHP ereg testem. Nevíte někdo, co může být špatně? Díky.

Nette 2.0 (20120203) pro PHP 5.3

David Grudl
Nette Core | 8228
+
0
-

Vyzkoušel jsem a funguje mi to.

radas
Člen | 225
+
0
-

Už vím, v čem je problém. Pokud by bylo pravidlo připojeno k $form->addText(), tak validace na serveru projde. Jelikož jde ale o komponentu DateTimePicker pro vkládání data a času pomocí jQuery, tak ta datum a čas zobrazuje ve formátu d.m.Y H:i, ale po odeslání se převádí na tvar vhodný pro databázi Y-m-d H:i, což způsobí, že validace na serveru neprojde. Jak by šlo tuto situaci řešit?

Editoval radas (29. 2. 2012 10:51)