Label pro chyby ve formuláři

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

Podporuje framework vytvoření chyb formuláře jako labelu pro jednotlivá pole? Např. při loginu zjistím že login není v databázi. Pak přidám:

<?php
$form['username']->addError('Jméno nenalezeno.');
?>

a v kódu se vygeneruje:

<ul class="error">
  <li><label for="username">Jméno nenalezeno.</label></li>
</ul>
<form>
	<label for="username">Uživatelské jméno:</label><input type="text" name="username" />
</form>

Hledal jsem ale nenašel. Jde to?

Panda
Člen | 569
+
0
-

Můžeš v chybě předat objekt Nette\Web\Html:

$form->addError(Html::el('label')->for($form['name']->getHtmlId())->setText('Jméno nenalezeno'));

Případně si to rovnou obalit do extension method.

Editoval Panda (25. 8. 2009 19:11)

kravčo
Člen | 721
+
0
-

Ide o nastavenie ConventionalRendereru, štandardne vypisuje všetky chyby spolu pred formulárom, no dá sa nastaviť, aby boli chyby pri prvkoch. Hľadaj v dokumentácii/kóde.

jasir
Člen | 746
+
0
-

Můžeš také vyzkoušet Live Form Validation

pj
Člen | 2
+
0
-

kravčo napsal(a):

Ide o nastavenie ConventionalRendereru, štandardne vypisuje všetky chyby spolu pred formulárom, no dá sa nastaviť, aby boli chyby pri prvkoch. Hľadaj v dokumentácii/kóde.

Chci je mít všechny spolu před formulářem, a to tak aby každá chyba byla label pro související pole. Jde (mimo jiné) o přístupnost.