Funkce onValidate – warning při nevyplněném povinném inputu
- Tomáš Vodička
- Člen | 28
Ahoj,
pokud mám ve formuláři povinné pole, přidám si vlastní handler do onValidate funkce a dle dokumentace si v handleru vytáhnu hodnoty
$form->addText('name', 'Název')
->setRequired();
$form->onValidate[] = [$this, 'formValidate'];
...
public function formValidate(Form $form): void
{
$values = $form->getValues();
}
tak v nové verzi nette/forms při odeslání formuláře s nevyplněným povinným polem vyskočí user warning
Nette\Forms\Container::getValues() invoked but the form is not valid.
Jak tedy správně získávat hodnoty z inputů v onValidate? Z každého
jednotlivě pomocí $form['name']->getValue()
?
- Pavel Kravčík
- Člen | 1195
@DavidGrudl – jak je to prosím myšlené? Všiml jsem si, že
s tím dobře pak nefunguje například třeba ani
Ublaboo\Datagrid
hromadné akce.
Klidně bych tam poslal PR, ale přemýšlím, co by měla být správná
cesta, všude doplnit podmínku na form isSuccess()
? I když chci
udělat třeba jen složitější validaci všech hodnot z multiplicatoru?