Pomínka v selectboxu navazující na jiný selectbox
- vosy
- Člen | 532
ahoj ve formuláři mám nastaveno
$form->addSelect(self::FORM_CONTROL_TIME_HOUR_TO, '', $this->optionsArray_hours(true))
->setRequired('Zadejte prosím hodinu konce.');
$form->addSelect(self::FORM_CONTROL_TIME_MINUTE_TO, '', $this->optionsArray_Minutes())
->addConditionOn($form[self::FORM_CONTROL_TIME_HOUR_TO], $form::MAX, 23)
->setRequired('Zadejte prosím minuty konce.');
Chtěl bych aby select MINUTE_TO byl povinný pouze pokud u HOUR_TO bylo zadáno menší číslo než 24.
Jo ještě se mi u minuty zobrazuje hláška „Please select a valid option.“ a né „Zadejte prosím minuty konce.“
Editoval vosy (14. 11. 2022 23:57)
- Ondris
- Člen | 37
Tohly by mělo fungovat, jediná otázka je, co ti vrací ty funkce $this->optionsArray_hours(true) a $this->optionsArray_Minutes(), tam překontroluj formát co přesně v options je.
Takhle to funguje správně, při výběru 23 a míň musím vybrat i minuty, jinak jen hodiny.:
protected function createComponentTestForm(): Nette\Application\UI\Form
{
$form = new Nette\Application\UI\Form();
$form->addSelect("hours", 'hodiny', [null => "", 1 => 1, 2 => 2, 3 => 3, 23 => 23, 24 => 24, 25 => 25, 50 => 50])
->setRequired('Zadejte prosím hodinu konce.');
$form->addSelect("minutes", 'minuty', [null => "", 10 => 10, 20=> 20, 30 => 30, 40 => 40, 50 => 50])
->addConditionOn($form["hours"], $form::MAX, 23)
->setRequired('Zadejte prosím minuty konce.');
$form->addSubmit('send', 'Test');
$form->onSuccess[] = [$this, 'formSucceeded'];
return $form;
}
Editoval Ondris (15. 11. 2022 6:14)
- vosy
- Člen | 532
Ty „optionsArray“ vrazi neco podobného jako jsi napsal.
Situace je taková že, když tam nemám tuto podmínku
->addConditionOn($form[self::FORM_CONTROL_TIME_HOUR_TO], $form::MAX, 23)
tak se mi vypisuje chyba „Zadejte prosím minuty konce.“
ve chvíli kdy tam přidám tu podmínku tak se vypisuje chyba „Please select a valid option.“
Jsem z toho jelen.