formular s roznymi errormi

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

Zdravím,

narazil som na jeden menši problém a preto hľadám vysvetlenie (odpoveď).
V presenteri si vytváram formulár s nejakým inputom napríklad:

<?php
$form->addUpload('photo', 'Photo')->addRule(Form::IMAGE, 'Photo must be one of these types: JPEG, PNG or GIF.');
?>

Ďalej si nastavím renderovanie errorov napr.:

<?php
$renderer->wrappers['error']['container'] = "div class='flash error'";
$renderer->wrappers['error']['item'] = "p";
?>

Ak zavolám po odoslaní formulára hocijaký iný error napr.:

<?php
$form->addError('Chyba');
?>

Tak tento sa vypíše pekne do mnou zvoleného divu, ale chyba, ktorá je deklarovaná pre input sa vypíše do nejakého svojho špeciálneho containera. Kde to hľadať a ako to opraviť aby sa aj ten vypisoval do môjho divu?

Ďakujem za odpoveď.

Editoval gogy27 (7. 2. 2014 16:17)

David Matějka
Moderator | 6445
+
0
-

DefaultFormRenderer vykresluje nad formular jen errory formulare a zbytek vedle jednotlivych inputu. pokud to tak nechces, budes muset formular vykreslit rucne, pripadne budes muset upravit renderer. mohlo by stacit extendnout defaultni renderer a upravit takhle

....
public function renderErrors(Nette\Forms\IControl $control = NULL, $own = TRUE)
{
	if(!$control) {
		return parent::renderErrors(NULL, FALSE);
	}
	return;
}