Formulář nevaliduje na straně serveru
- Damo
- Člen | 56
Mám vytvořený Form
protected function createComponentEditUserForm(): EditUserForm {
$form = new EditUserForm();
$form->setAction($this->link(":ControlPanel:Api:User:Edit"));
$form->onValidate[] = [$this, 'editUserFormValidate'];
$form->onSuccess[] = [$this, 'editUserFormSucceeded'];
return $form;
}
POST si neposílám na stejnou stránku ale na jinou
a nechce se mi zavolat onValidate ani onSuccess
public function editUserFormValidate(EditUserForm $form): void {
...
}
rovnou se mi zpracuje action v presenteru kam si posilam ten POST
Kde dělám chybu? Díky za radu
- dakur
- Člen | 493
Zpracování formuláře se musí provést na stejné stránce, kde ho vytváříš. V tom jiném presenteru ho nemáš, tudíž se ani nemůže zpracovat. Máš nějaký důvod, proč to chceš zpracovávat jinde?
Pokud chceš po zpracování přesměrovat jinam, vyřeš to takto:
public function editUserFormValidate(EditUserForm $form): void {
// ...
$this->redirect('NejakyPresenter:nejakaAkce');
}
Editoval dakur (23. 6. 2022 10:01)