Validace – vyplnění jednoho inputu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Jiří Nápravník
- Člen | 710
Chci udělat validaci tak, aby uživatel vyplnil alespoň jeden input. To jsem tady na fóru našel, v tom problém není, nicméně našel jsem vždy něco na tenhle způsob:
$form->addText('text1', 'Text 1');
$form->addText('text2', 'Text 2');
$form['text1']->addConditionOn($form['text2'], ~Form::FILLED)
->addRule(Form::FILLED, 'Alespoň jedno pole musí být vyplněné.');
$form['text2']->addConditionOn($form['text1'], ~Form::FILLED)
->addRule(Form::FILLED, 'Alespoň jedno pole musí být vyplněné.');
Proč se to přichycuje na oba ty inputy? Neměl by stačit jen jeden. Pokud ot přeci znamená "Pokud není vyplněn text2, tak dej jako povinný text1. Tak by to mělo stačít ne? I pokud to zkouším otestovat, tak to mi to mojí domněnku potvrzuje. Nebo mi něco uniká?