Jak zakázat automatické vyplňování hidden polí po odeslání formuláře

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
vasek125
Člen | 34
+
0
-

Používám formulář pro přihlašování uživatelů. Pokud přihlášení selže, zobrazí se znova formulář, ale nette automaticky vyplní hodnoty všech textových inputů a hidden inputů. Jak mu zakážu, aby hodnoty u hidden inputů nevyplňoval?

Foowie
Člen | 269
+
0
-

Vložíš do těchto prvků prázdné hodnoty?

	...

	if($form->isSubmitted() && $form->isValid()) {
		$form->setValues(array(), true);
	}

	...
Aurielle
Člen | 1281
+
0
-

Vyřešil bych to ne přes $form->addError(), ale přes $presenter->flashMessage('...'); $presenter->redirect('this');
(redirect + flash zprávička místo addError)

vasek125
Člen | 34
+
0
-

To nevím. Z nette nepoužívám nic jiného než formuláře. Hidden vyplňuju takto: <?php $form->addHidden(‚__token‘, Mujtoken::generuj()); ?>

vasek125
Člen | 34
+
0
-

A i když mám nastavené takového implicitní vyplnění, tak je tam po odeslání formuláře stará zapamatovaná hodnota.

vasek125
Člen | 34
+
0
-

Nakonec ale pomohlo

$form['__token']->setValue(Mujtoken::generuj());

Nedá se mu to vnutit už při vytváření hidden inputu?

natrim
Člen | 73
+
0
-

co třeba

<?php
$form->addHidden('__token')->setValue(Mujtoken::generuj());
?>