Zobrazení validačních hlášek na formuláři ve snippetu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- mstaufcik
 - Člen | 1
 
Nedaří se mi zobrazit validační hlášky na stránce se snippetem uvnitř kterého je formulář. Když se formulář odešle tlačítkem submit, validační chyby v podobě bubliny se nezobrazí.
{snippet editUdalost}
{ifset $editUdalost}
		{form udalostForm}
			<button class="button primary ajax" name="saveUdalost" type="submit"><i>Uložit</i></button>
		{/form}
{/ifset}
{/snippet}
Validace:
	protected function createComponentUdalostForm()
	{
				$form = new Form;
				$form->addText('nazev', 'Název');
				$form->addDate('datumod', 'Datum od');
				$form->addDate('datumdo', 'Datum do');
				$form->addText('casod', 'Čas od');
				$form->addText('casdo', 'Čas do');
				$form->addCheckbox('jecelodenni', 'Celodenní')->setAttribute("id", "jecelodenni")->setAttribute("onclick", "toggleCelodenni()");
				$form->addSubmit('saveUdalost');
				$form->addSubmit('cancelUdalost');
				$form->onSuccess[] = [$this, 'editUdalostSucceeded'];
                $form->onValidate[] = array($this, 'validateUdalostForm');
				return $form;
		}
        public function validateUdalostForm($form)
        {
      			if ($form['cancelUdalost']->isSubmittedBy()) {
                        $this->template->editUdalost = null;
				}
      			if ($form['saveUdalost']->isSubmittedBy()) {
                        $isValid = true;
                        foreach ($form->getControls() as $control) {
                               if (!$control->getRules()->validate()) {
                                       $isValid = false;
                               }
                        }
                        if ($isValid == false) {
                                $this->template->editUdalost = 1;
                        }
				}
                $this->redrawControl("editUdalost");
        }
				
- JZechy
 - Člen | 161
 
Dle téhle ukázky je taky ani nijak nevypisuješ. Viz. manuální vykreslení, všimni si toho ul li.
Navíc, pokud na jedno tlačítko nechceš validovat formulář, stačí mu dát setValidationScope(FALSE) a nemusíš ručně vyvolávat validaci pak.