Dvě varianty formuláře, nette řešení?

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

Dobrý den,
na stránce Readbook.cz hodlám mít formulář zprostředkovávající registraci a přihlášení. Uživateli se v základu otevře login form ale bude moct ve stejném modalboxu překliknout na registraci. A můj dotaz zní, jak to udělat v Nette (napadá mi to dát do divu a řídit přes javascript viditelnost). Ale je řešení správné? Musím tam ošetřovat „pokud není zobrazený, nemusí být vyplněné všechny údaje“ apod.

Jiří Nápravník
Člen | 710
+
0
-

Ty formulare budou dva ne? Ci-li formular pro login bude mit jedno tlacitko pro submit a pro registraci druhy formular se submit tlacitkem. Tim padem netreba resit pokud je/neni zobrazen…

GEpic
Člen | 566
+
0
-

To je záležitost Bootstrapu (a pokud ho nevyužíváš, můžeš využít jeho JS, každopádně, nevyužít bootstrap = ztráta času pro všechny :D), já to řeším tak, že mám jeden modal Login, v něm je tlačítko na registraci, na tomto tlačítku je data attribute data-dismiss=„modal“ a zároveň target=„#registerModal“… tím pádem se mi zobrazí místo loginu → register modal. Stejně tak tam můžeš dodělat tlačítko na zapomenuté heslo.

Ty jediné co uděláš, je že v kódu vypíšeš 2 formuláře do dvou modalů, čili toto je záležitost frontendu a vůbec nepřemýšlej, jak do toho zapojit Nette.

Ukázka zde (v pravo nahoře tlačítko přihlásit se → zapomenuté heslo):
Rychlý projekt

Popř. si dej inspect na tlačítko „Zapomenuté heslo“ a zkopči si to… MŮŽEŠ :D

Editoval GEpic (4. 7. 2016 23:53)

Karlito
Člen | 18
+
0
-

Ahoj, nemohl by si mi ze svého kódu vytáhnout modály i s invalidací? Pač řeším jak nejefektivněji to zapsal v nette celkově. Tak aby mi modály fungovali správně a tak aby při validaci se mi to nepřešlo na obyč stránku ale vykreslily se ty errory v tom modalu. Kdyby to šlo nějak vytáhnout jak to máš, tak bych byl moc vděčný.

Kakaku
Člen | 27
+
0
-

Nevím jestli si rozumíme, ale možná myslíš toto:

<ul class="errors" n:if="$form->hasErrors()">
					<li n:foreach="$form->errors as $error">{$error}</li>
				</ul>
Karlito
Člen | 18
+
0
-

Kakaku napsal(a):

Nevím jestli si rozumíme, ale možná myslíš toto:

<ul class="errors" n:if="$form->hasErrors()">
					<li n:foreach="$form->errors as $error">{$error}</li>
				</ul>

Omlouvám se, napsal jsem to trochu zmateně. Ale ve výsledku mi stačilo validovat formulář js a lépe validovat modalní okno.
Díky za snahu ;)