vytvorenie vlastneho rule pre formular
- Matej123
- Člen | 150
v dokumentacii(https://doc.nette.org/cs/forms) pre vytvorenie vlastneho validacneho pravidla som nasiel priklad, kde bola vytvorena vlastna funkcia, ale je tam poznamka : // poznámka: toto je skutečná funkce, nikoliv metoda v presenteru – ako teda vytvorim takuto funkciu , ked formular vytvaram klasicky v presenteri, pripadne kde mam definovat tuto funkciu?
- David Matějka
- Moderator | 6445
Pokud nepotrebujes JS validaci, tak tam muzes predat jakykoliv platny
callback, tedy treba [$this, 'validateFoo']
nebo treba anonymni
funkci. Pokud chces mit JS validaci, musi to byt bud obycejna funkce, nebo
staticka metoda. A pak dle pravidel udelas
jeji prepis pro JS
- David Matějka
- Moderator | 6445
->addRule(function ($control) {
return $this->userModel->isEmailAvailable($control->value);
}, 'E-mail neni dostupny');
(tu metodu isEmailAvailable musis samozrejme implementovat sam, vrati jen true/false)
- Mysteria
- Člen | 797
Bez JS se to bude chovat tak, že i se zabraným emailem se ti odešle formulář a po překreslí stránky se ti někam vykreslí chybová hláška (a uživatele to nezaregistruje). Prostě tam bude chybět ta JS část, která by ti rovnou při odeslání řekla, že tenhle email je již použit a zabránila odeslání formuláře.
Kdyby jsi to chtěl mít i na straně JS, tak řešením jsou AJAXové validace podle tohoto návodu: https://www.youtube.com/watch?…
- Ondřej Kubíček
- Člen | 494
defaultně se ti errory vypisují v ul seznamu s třídou error
stačí si to jen nastylovat
Editoval Ondřej Kubíček (8. 9. 2015 19:10)