Validace prvku v závislosti na své a hodnotě druhého (čas od < čas do)
- Ani
- Člen | 226
Ahoj,
mám formulář, který má dvě políčka (čas od, čas do) chci na první pohled jednoduché pravidlo, že čas od bude menší než čas do. Chtěl bych obě validace JS a PHP.
Bohužel nevím jak na to. Přijde mi že to nette pravidlama nejde (jestli jo budu vděčný, za popostrčení). A když si udělám vlastní pravidlo s nějakým callbackem, tak to jak v php tak v js dostane jako argument ten jeden control. K hodnotě druhého, bych se musel dobrat nějakou cestou, přes rodiče a to není pěkné, navíc bych musel znát jeho jméno, což neni univezální…
Takže jde to nějak řešit? Případně jak jste něco podobného řešili, řekl bych že to není až tak exotický problém. Díky.
- jtousek
- Člen | 951
Tohle je trochu komplikovanější a to i v případě, že by nešlo o čas nebo datum ale jen o čísla.
Vlastně jde o validační pravidlo na úrovni formuláře (nikoli na úrovni formulářového prvku – inputu) neboť hledí na hodnoty více prvků. Pravidla nad prvky sice mohou být podmíněná, což závislosti na ostatních prvcích formuláře do jisté míry porkrývá, ovšem přímé porovnávání hodnot dvou prvků nikoli.
Nevím o tom, že by Nette něco takového podporovalo. V nových formuářích to doufám bude, ale ty budou až ve verzi 2.1.
Jinými slovy, tohle si musíš zkontrolovat sám po odeslání formuláře. Pokud to chceš i do JS tak to budeš psát 2×.
- bojovyletoun
- Člen | 667
V pohodě :) (javascript by se řešil podobně: je tam podobný interface: jen stačí přidat funkci do Nette.Validators
Editoval bojovyletoun (4. 6. 2011 2:11)
- Filip Procházka
- Moderator | 4668
Zhruba tak dlouho, co existují validační pravidla. Jenom to asi nikoho nenapadlo použít.