Vložení vlastní třídy do Nette
- zazax1
- Člen | 9
Zdravím, chci se optat jak nejlepe vlozit vlastni tridu, ktera ma staticke metody, abych je mohl volat v Nette?
Jde mi o to, že mám formulář a potřebal bych si udělat vlastní validační pravidla v Nette. V presenteru, kdy volám fci na zpracování formuláře tak bych si chtěl dát podmínku, třeba:
if(mYClass::IsValid()){…}
Jaké je nejlepší či nejefiktivnější řešení?
Moc díky Petr
- Bertram
- Člen | 75
Ahoj,
o načítání tříd se stará Nette\Loaders\RobotLoader, takže pokud
používáš sandbox, tak stačí umístit
své třídy někde ve složkách app nebo libs a tvé třídy se budou
načítat automaticky.
A co se validace formuláře týče, využil bych metodu addRule() přímo na formulářový prvek, které předáš callback pro zavolání vlastního validačního pravidla.
- Jan Voráček
- Člen | 90
Pokud chceš použít vlastní Control
, nezbude ti i než
použít vlastní Presenter
implementující rozhraní
Nette\Application\IPresenter
, z kterého teprve budou dědit tvoje
FooPresenter
y.
Můžu se jenom zeptat, proč to proboha chceš dělat?
Pokud chceš mít proměnnou $themePath
dostupnou ve všech
presenterech, pak použij standardní řešení s BasePresenter
em.
Pokud ji potřebuješ mít v komponentách, tak si ji do nich z presenteru
třeba předej.
Editoval Jan Voráček (1. 10. 2011 15:53)