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
?>