The signal receiver component ‚controlForm‘ is not found

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

Dobrý den, mám problém s chybou která je v názvu.

V presenteru mám co se ‚controlForm‘ týká:

protected function createComponentControlForm(){

		$form = new Form($this, 'controlForm');

		$form->addDynamic('changeEmployee', function (Container $chng_emp) {
			$chng_emp->addHidden('idEmp');
			$chng_emp->addSelect('selectEmp', NULL, $this->emp);
		}, 1);

		$form->addDynamic('changeDate', function (Container $chng_date) {
			$chng_date->addDynamic('subDate', function (Container $sub_date) {
				$sub_date->addText('empFrom');
				$sub_date->addText('empTo');
				$sub_date->addText('empToTime');
				$sub_date->addText('empFromTime');
			}, 1);
		}, 1);

		$form->addMultiUpload('files');

		$form->addSubmit('_add', 'Přidat požadavek')
			->setAttribute('class', 'btn btn-primary button');

		$form->addSubmit('_back', 'Zpět')
			->setAttribute('class', 'btn btn-info button')
			->setAttribute('onclick', 'history.back()');

		$form->onSubmit[] = array($this, 'taskFormAdd');
	}
public function taskFormAdd(Form $form){
		$this->temp_control = $form->getValues();
}

Chyba vyskočí po odeslání formuláře.
Poradí někdo? Děkuji.

Editoval Rudolf247 (27. 5. 2016 18:02)

Unlink
Člen | 298
+
+2
-

Chýba ti tam

return $form;

Editoval Unlink (27. 5. 2016 18:11)

Rudolf247
Člen | 38
+
0
-

Momentálně nejsem u notebooku, abych vyzkoušel, ale jestli je to vážně jen kvůli tomuhle, tak moc děkuji. :)

Aurielle
Člen | 1281
+
+1
-

@Unlink nechybí, protože formulář připojuje k presenteru hned při jejím vytvoření. Kdyby createComponentXyz() metoda komponentu nevytvořila, Nette zařve, chyba bude pravděpodobně jinde.

@Rudolf247 nicméně @Unlink má pravdu v tom, že je lepší komponenty připojovat přes return a ne přes konstruktor.