Podmienky vo formulároch – nezobrazujú sa chybové hlášky

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

Zdravím,
na zdrojak.cz som našiel návod, ako pracovať s podmienkami vo formulároch. Skúsil som túto:

$form->addText('email', 'E-mail:')
        ->addCondition(Form::FILLED) // podmínka: pokud je e-mail vyplněn
                ->addRule(Form::EMAIL, 'E-mailová adresa není platná'); // pak musí být platný

Formulár sa síce neodošle pri zadaní zlého emailu, no nevyskočí mi ani žiadna hláška. Bez podmienky sa hláška zobrazí, ale potrebujem mať „email“ nepovinný.

Článok: http://www.zdrojak.cz/…ormulare-ii/

Vopred ďakujem za pomoc.

JakubTN
Bronze Partner | 49
+
0
-

Ten clanok je uz pomerne stary, mozno preto to nefunguje.

Ja to pouzivam takto:

<?php
$form->addText('email', 'E-mail')
     ->addConditionOn($form['email'], FORM::FILLED, FALSE)
     	  ->addRule(Form::EMAIL, 'Zadaný e-mail je v nesprávnom tvare');
?>
orech
Člen | 40
+
0
-

Díky za odpoveď.

Skúsil som to tak urobiť, no formulár to vôbec neskontroluje a hneď odošle aj s blbosťou a skončí na errore:

Nette\MemberAccessException

Call to undefined method Nette\Forms\Controls\TextInput::__invoke()

Neviem, či mi tam niečo ešte nechýba.

EDIT

Aaaa, sorry, nevšimol som si zmenu addConditionOn.

Už to beží v poriadku :) Vďaka

Editoval orech (1. 8. 2012 18:37)