Zobrazení chybových hlášek validace formulářů
- flamengo
- Člen | 135
Mám v komponentě vytvořený formulář, JS valida nemám (respektive
nemám přilinkovaný potřebný soubor), mám nastaveny pravidla
->setRequired()
apod.
1. Formulář vykresluji ručně, z dokumentace jsem zkopíroval kód na zobrazení chyb. Když formulář odešlu Ajaxem (prádný či nevyhovující validačním pravidlům), očekával bych zobrazení chybových hlášek dle nastavených pravidel, ale nikde se mi nic nezobrazí. Japato, nevíte?
latte pokus 1 – hlášky se nezobrazí
<ul class="errors" n:if="$form->hasErrors()">
<li n:foreach="$form->errors as $error">{$error}</li>
</ul>
latte pokus 2 – hlášky se nezobrazí
{$form->render('errors')}
2. Formulář vykresluji v šabloně pomocí
{control showForm}
a při odeslání tohoto formuláře se také
nikde nezobrazí chybové hlášky.
Co mi uniká, poraďte prosím, díky.
Editoval flamengo (18. 9. 2015 18:46)
- flamengo
- Člen | 135
Tak vyřešeno, přišel jsem na to juch :)
Říkal jsem si, že nikde vlastně nedefinuji, že při chybě validace má
dojít k invalidaci formuláře. Napadlo mě, zda neexistuje náhodou nějaké
událost formuláře podobné $form->onSuccess[]
a ona existuje:
$form->onError[]
. Pak už jen chtělo vytvořit metodu a v té
nastavit invlidaci.
protected function createComponentForm(){
$form = new Form();
// ....
$form->onSuccess[] = array($this, 'processForm');
$form->onError[] = array($this, 'errorForm');
return $form;
}
public function errorForm(Form $form){
if($this->presenter->isAjax()){
$this->redrawControl('forms');
}
}