setValidationScope neberie Container

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

Mám nasledujúci kód, v ktorom chcem, aby sa pri odoslaní formulára validoval len konkrétny container:

<?php

public function createComponentEditForm()
	{
		$form = new Form;
		$form->setTranslator($this->presenter->translator);

		foreach ($this->photos as $photo) {
			$photoCategories = $this->photoRepository->getPhotoCategories($photo->filename);

			$photoContainer = $form->addContainer($photo->filename);

			$photoContainer->addText('title', 'Title:')
					->setRequired()
					->setDefaultValue($photo->title);

			$categoriesContainer = $photoContainer->addContainer('categories');

			foreach ($this->categories as $id => $name) {

				$active = (in_array($id, $photoCategories)) ? TRUE : FALSE;

				$categoriesContainer->addCheckbox($id, $name)
						->setDefaultValue($active);
			}

			$photoContainer->addSubmit('update', 'Update photo')
					->setValidationScope($photoContainer)
					->onClick[] = $this->formSubmitted;
		}

		$form->onValidate[] = $this->formValidate;

		return $form;

	}

?>

Avšak vyhadzuje mi to chybu, ktorá mi nedáva zmysel, kedže všetko vyzerá byť v poriadku:

Vie mi niekto poradiť, ako s tým pohnúť?

Jan Tvrdík
Nette guru | 2595
+
0
-

Zkus setValidationScope(array($photoContainer))

craz
Člen | 34
+
0
-

Výborne! Ďakujem :)