1. Zjisti který input dělá problém:
- Do Factorky pridej tento kod:
-
$form->onValidate[] = function (Nette\Forms\Form $form, $values) use ($product_id, $lang_id)
{
try {
$test = [];
foreach ($form->getComponents(true) as $component) {
if (!empty($component->getErrors())) {
$test[] = $component;
bd($component, $component->getErrors());
}
}
dd($test);
} catch (\Exception $exception) {
dd($exception);
}
dd($form->getOwnErrors());
}; - Pokud je to validaci formu, tak ti to po odeslání formuláře vypíše kde je chyba. Dál pokračuj buď sám, nebo jsou dál některé časté příčiny. Pokud se ti nic nevypsalo, tak je pravděpodobně chyba někde jinde.
1) Příčina
Ukol na demu https://app.freelo.io/task/8146405.
SelectBox nema prompt, ale nevykresluje se v sablone (musi mit bud prompt nebo vybranou hodnotu)
Řešení je simple, prostě jen přidej ->setPrompt(true)$addToGallery->addSelect('gallery', 'Vyberte Galerii:', $galleries)
->setPrompt(true)
->addCondition($form::EQUAL, '---')
->toggle('new_gallery_input', true)
->elseCondition()
->toggle('new_gallery_input', false);