formuláře získání hodnot jedné group

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

Zpracovávám formulář a rád bych dostal hodnoty jednotlivých group samostatně, lze to?

Group jsem samozřejmě vytvořil přes funkci

$form->addGroup('Info');

při zpracování jsem zkoušel:

$form->getValues();		// dostanu jednorozměrné pole
$form->getValues(true);		// dostanu jednorozměrné pole
$form['Info']->getValues(); 	// vyhodí: Component with name 'Info' does not exist.
$form->getGroup();		// vrátí ControlGroup, která mi je v tomhle k ničemu

ControlGroup doc

llook
Člen | 407
+
0
-

Groupy takto používat nelze, ale kontejnery ano: https://doc.nette.org/cs/forms#…

kedrigern
Člen | 102
+
0
-

Super funguje. Děkuji.

Ještě doplňující dotaz. V těch subcontainerech již nemohu vytvářet group?

$sub->addGroup("lorem");

Vyhodí:
Call to undefined method Nette\Forms\Container::addGroup()

Jan Mikeš
Člen | 771
+
0
-

https://api.nette.org/…ntainer.html

Nelze, ale container muzes obalit do groupu.
Group je fyzicke rozdeleni formulare a container logicke.

Pokud si nechavas formular vykreslit automaticky, tak group se ti obali tagem <fieldset> kdezto containery se ve vykreslovani nijak nerozlisuji, je to pouze pro tve pohodlnejsi pouziti v kodu.