AddConditionOn neukazuje validační zprávu

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

Mám zcela jednoduchý formulář, téměř okopčený z dokumentace, kde se snažím použít addConditionOn. Mám:

public function createComponentEditShop()
{
	$form = new Form;
	$form->addCheckbox('newsletters', 'zasílejte mi newslettery');

	$form->addText('email', 'E-mail:')
    	  // pokud je checkbox zaškrtnut
          ->addConditionOn($form['newsletters'], Form::EQUAL, TRUE)
          // pak vyžaduj e-mail
          ->addRule(Form::FILLED, 'Zadejte e-mailovou adresu');
	$form->addSubmit('editShop', 'Uložit nastavení');

	$form->onSuccess[] = callback($this, 'editShopFormSubmitted');

	return $form;
}

public function editShopFormSubmitted(Form $form)
{
	dump($form->values);
	exit;
}

Pokud se nepletu, mělo by to fungovat tak, že pokud zaškrtnu newsletters tak to bude kontrolovat email. Může nastat:

  • checkbox nezašktnu a nic nevyplním ⇒ vydumpuje se mi výsledek (správně)
  • zaškrtnu ho a vyplním text ⇒ taky se vydumpuje (správně)
  • zaškrtnu ho, ale text nevyplním ⇒ formulář se odešle a pak vrátí na to samé místo, data se nevydumpuju (správně). Avšak form javascriptově nezařve a ani pak neukáže flash message (špatně!).

V html to vypadá dobře:
firebug

Nette verze 2.0.6.

Díky za nápady.

castamir
Člen | 629
+
0
-

Máš přilinkované netteForms.js?

Nebo jinak – zahlásí ti tohle nějakou chybu (na straně klienta)?

$form->addText('email', 'E-mail:')
      ->addRule(Form::FILLED, 'Zadejte e-mailovou adresu');
aGr
Člen | 45
+
0
-

Ha! Sice měl a to co píšeš mi chybu zahlásilo, ale všiml jsem si, že mi v consoli leží Uncaught SyntaxError: Unexpected token }. Tak jsem si stáhl novou verzi netteForms a už to běží.. Tak snad okej :). díky