FormControl – renderovanie – error class

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

Zdravym, v pripade ze je input chybny, nema ziadny class ktory by indikoval ze je chybny. Bola by moznost nejako nastavit chybnemu inputu „error“ class?

momentalne som si upravil metodu, pridal na $pair class „error“, ale nepaci sa mi ze zasahujem do kodu, je mozne tuto myslienku nejak dostat do distribuci (ak sa inak neda) ?

<?php
public function renderPair(IFormControl $control)
	{
		$pair = $this->getWrapper('pair container');
		$pair->add($this->renderLabel($control));
		$pair->add($this->renderControl($control));
		$pair->class($this->getValue($control->isRequired() ? 'pair .required' : 'pair .optional'), TRUE);
		$pair->class($control->getOption('class'), TRUE);
		if (++$this->counter % 2) $pair->class($this->getValue('pair .odd'), TRUE);
		$pair->id = $control->getOption('id');
		if($control->getErrors()) $pair->addClass('error'); // pridany error class ked su chyby
		return $pair->render(0);
	}
?>

pripadne to spravit krajsie:

<?php
	if($control->getErrors()) $pair->addClass($this->getValue('pair .error'));
?>

Editoval Morlok (29. 3. 2011 1:31)

Šaman
Člen | 2640
+
0
-

Jde to pokud používáš šablony formulářů místo ConventionalRendereru (či jak se to jmenuje).
Jestli používás Renderer, tak nemusíš přímo zasahovat do kódu, ale podědit ho a používat svůj.