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
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:
Nette verze 2.0.6.
Díky za nápady.