Bezpečné formuláre v html?
- account23
- Člen | 36
Zdravím, pozerám pozerám, no všade tu je popísané jak chrániť formuláre tvorené typom
$form = new Form;
$form->addText('name', 'Jméno:');
$form->addPassword('password', 'Heslo:');
$form->addSubmit('send', 'Registrovat');
Túto metódu tvorbu formulárov nemám rád, priam to neznášam. Je to zbytočné babranie nastavovať tam class a tak ďalej keď to omnoho rýchlejšie dokážem spraviť v html, a hlavne mi vadí že ten formulár vykreslí do table, desnéééé..
Moja otázka znie, dá sa nejak ošetriť formulár napísaný v html ? Napríklad
<input type="text" class="drist" name="meno"/>
chcem aby tento input bol povinný teda required. Ako, alebo či vôbec, dá sa to ?
Editoval account23 (23. 1. 2014 10:46)
- Pavel Macháň
- Člen | 282
account23 napsal(a):
Zdravím, pozerám pozerám, no všade tu je popísané jak chrániť formuláre tvorené typom
$form = new Form; $form->addText('name', 'Jméno:'); $form->addPassword('password', 'Heslo:'); $form->addSubmit('send', 'Registrovat');
Túto metódu tvorbu formulárov nemám rád, priam to neznášam. Je to zbytočné babranie nastavovať tam class a tak ďalej keď to omnoho rýchlejšie dokážem spraviť v html, a hlavne mi vadí že ten formulár vykreslí do table, desnéééé..
Moja otázka znie, dá sa nejak ošetriť formulár napísaný v html ? Napríklad
<input type="text" class="drist" name="meno"/>
chcem aby tento input bol povinný teda required. Ako, alebo či vôbec, dá sa to ?
Nic ti nebrání to vykreslit ručně – Dokumentace
- vvoody
- Člen | 910
Asi hľadáš toto
Dokonce je možné jen „oživit“ prvky napsané čistě v HTML pomocí makra n:name, které ho sváže s formulářovým prvek uvedením jeho identifikátoru:
- romiix.org
- Člen | 343
Nejak stále nechápem akú výhodu má manuálne vypisovať HTML kód,
manuálne napísať JS validáciu a jednotlivé časti formulára manuálne
samostatne validovať oproti jednotnej definícií v PHP a automatickému
renderu. Je to iba nejaká nepochopiteľná nechuť
?
Manuálne
vykreslovanie ti už poradené bolo a pomocou $wrappers
v dokumentácií
vieš zlikvidovať tie desnéééé tabuľky.
- Pavel Macháň
- Člen | 282
account23 napsal(a):
hm myslíš tento typ ?
{input name}
a nešlo by to normálne vytvoriť input v html ? a potom po odoslaní formuláru narazí na ošetrenie ? Už som prečítal celú dokumentáciu, ku všetkému sú rôzne spôsoby, ale že sa nedajú robiť formuláre v html ? Je to dosť bieda…
<label for="frm-name">
<input n:name="name">
- Pavel Macháň
- Člen | 282
account23 napsal(a):
Hm no keď tak nad tým uvažujem, dalo by sa to prežiť, že to musím robiť cez PHP. Aspoň že to nemusím mať vykreslené v tabuľkách :D
Tabulek bych se moc nebál. Pokud je nepoužiješ na strukturování layoutu ale pro formátování dat tak v nich nevidím problém. Za každou cenu rvát vše do divů mě přijde jako blbost.
Btw nic ti nebráví změnit tabulku na něco jiného viz dokumentace
$renderer = $form->getRenderer();
$renderer->wrappers['controls']['container'] = 'dl';
$renderer->wrappers['pair']['container'] = NULL;
$renderer->wrappers['label']['container'] = 'dt';
$renderer->wrappers['control']['container'] = 'dd';
Editoval EIFEL (23. 1. 2014 11:48)
- Filip Procházka
- Moderator | 4668
Nadefinuješ strukturu
protected function createComponentMyForm()
{
$form = new Form;
$form->addText('name');
$form->addPassword('password');
$form->addSubmit('send');
return $form;
}
V šabloně pak jen dáš do příslušných elementů
n:name
<form n:name=myForm>
<input n:name=name>
<input n:name=password>
<button n:name=send>Registrovat</button>
</form>
Profit.
Koukni co to vygeneruje za attributy, classy a labely si muzes pridat sam jak uznas za vhodne.
- Vojtěch Dobeš
- Gold Partner | 1316
Ještě bych upřesnil, aby to z tohoto vlákna bylo jasné:
->setRequired()
v té PHPčkové definici by se určitě mělo
volat, atribut required
v HTML nestačí, protože je potřebná
i serverová validace. Použití makra n:name
zároveň elementu
doplní required
atribut automaticky, takže ho není na input
potřeba dopisovat ručně.