Validace pouze jedne vybrane moznosti
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.

- koren
 - Člen | 59
 
Ahoj. Mam formular pro znovu-poslani hesla – uzivatel si muze vybrat, zda chce vlozit email nebo login… podle radiobuttonu se zobrazi prislusny input..
- pri validaci to ale kontroluje oba inputy a ja potrebuji aby to validovalo pouze ten vybrany (zobrazeny) … jak na to ?
 - a jak take co nejelegantneji udelat aby se submit button zobrazil az po vybrani z radiobuttonu ? neco jsem zkousel, ale prislo mi to prasoidni:) btw. zpracovava se to oboji stejnou funkci – nepotrebuji ruzne submity
 
dikes
       $form = new NAppForm;
        $radios = array(
            '1' => ' svoje přihlašovací jméno',
            '2' => ' svůj registrační email',
        );
        $form->addGroup();
        $form->addRadioList('knowledge', 'Znám: ', $radios);
        $form['knowledge']->addCondition(NForm::EQUAL, 1)
                          ->toggle('loginBox'); // toggle div #login
        $form['knowledge']->addCondition(NForm::EQUAL, 2)
                          ->toggle('emailBox'); // toggle div #email
        $form->addGroup() // login
             ->setOption('container', NHtml::el('div')->id('loginBox'));
        $form->addText('login', 'Přihlašovací jméno:', 30)
             ->addRule(NForm::FILLED, 'Zadej prosím přihlašovací jméno.');
        $form->addGroup() // email
             ->setOption('container', NHtml::el('div')->id('emailBox'));
        $form->addText('email', 'Registrační email:', 30)
             ->addRule(NForm::FILLED, 'Zadej prosím e-mail')
             ->addRule(NForm::EMAIL, 'Zadej prosím e-mail ve správném tvaru'); // ... then check email
        $form->addGroup();
        $form->addSubmit('save', 'Vytvořit heslo');
				
- Čelo
 - Člen | 42
 
Pokud se nepletu, tak musíš tu podmínku dát i před ta pravidla.
<?php
$form->addText('email', 'Registrační email:', 30)
      ->addConditionOn($form['knowledge'],NForm::EQUAL,2)
      ->addRule(NForm::FILLED, 'Zadej prosím e-mail')
      ->addRule(NForm::EMAIL, 'Zadej prosím e-mail ve správném tvaru'); // ... then check email
?>