Přístup k nastaveným validačním pravidlům při vykreslování

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

Zdravím,

ve své aplikaci bych potřeboval nastavit určitou třídu všem číselným inputům, respektive inputům, které mají nastavené validační pravidlo Form::INTEGER. Formuláře vykresluji pomocí vlastní šablony, ale bohužel jsem nikde nenašel způsob, jak se dostat k již nastaveným pravidlům, abych se rozhodl, jestli třídu nastavit nebo ne.

Napadl mě způsob vytvořit si vlastní control, ale aplikace co tvořím je již velice rozsáhlá s mnoha formuláři, tudíž než bych se případně pustil do manuálního prohledávání a nahrazování vlastním controlem, tak by mě zajímalo, jestli to nejde nějak jednodušeji.

Předem díky za odpovědi

redhead
Člen | 1313
+
0
-

u controlu bys měl zjistit pravidlo nějak takhle (doufám, netestoval jsem)

foreach($control->getRules()->getIterator() as $rule)
{
	if($rule->operation == Form::INTEGER)
		$control->getControlPrototype()->class('class');
}