Nastavenie atributu class do makier {form} a {input} v sablone podla podmienky

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

Ahojte, pls potreboval by som poradit, chcel by som dosiahnut v pripade, ze formular obsahuje chyby nastyluje sa do <form> tagu class has-errors

{form class => "has-errors"}

ale len ked obsahuje chyby a podla toho by som nastyloval formular napr. inputy cervenym okrajom, je to mozne spravit?

Podobne je mozne pridat v sablone do input class error:

{input class => "error"}

v pripade ked formular obsahuje chyby?

Priklad nieco taketo (toto ale nefunguje):

{form loginForm {if $form->hasErrors()}class => "has-errors"{/if}}

alebo:

{input email {if $form->hasErrors()}class => "error"{/if}}

Dakujem za pomoc.

Editoval Zito (5. 3. 2013 18:11)

Jan Endel
Člen | 1016
+
0
-

Zkus n:class.

Zito
Člen | 8
+
0
-

n:class by bolo fajn, ale myslim ze nie je mozne pouzit v makrach {input} alebo vo {form}.
Existuje nieco ako n:form alebo n:input? (na n:form ma odkazali v inom fore ze je asi v plane) Tam by sa dali pridat atributy do podmienky. Napadlo ma este takto, ale velmi sa mi to nepozdava:

{if $form->hasErrors()}
  {input email class => 'error'}
{else}
  {input email}
{/if}

Ako by sa to dalo vyriesit elegantne?

Fakt by bolo skvele mat moznost pridavat dalsie atributy do makier podla podmienky alebo moznost pouzit n:input a n:form.

Editoval Zito (6. 3. 2013 10:16)

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

A n:input použít nejde? n:form použít nejde, to jest pravda.

Editoval vojtech.dobes (6. 3. 2013 10:15)

Zito
Člen | 8
+
0
-

Super dik toto funguje:

<input n:input="email" {if $form->hasErrors()}class="error"{/if} />

Este vymysliet riesenie ako doplnit atributy do formu v sablone podla podmienky mate pls nejaky napad?

Neviete niekto pls ako je realne pridanie moznosti zapisu tagu n:form?

David Matějka
Moderator | 6445
+
0
-
{form fooForm class=>$form->hasErrors()? 'errors'}
Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Zito Šance je taková, že existuje pull request číslo #588.