addHidden() a moznost rozsirenia o „completely hidden“ (aka value only) vo formularoch
- Tomas P
- Člen | 27
Uvodom – s Nette iba zacinam, takze sa moze ukazat ze sa to riesi inak (nette-way)… ale nenasiel som to.
Ide o to, ze pri pouziti formulara na add aj edit funkcie
je nutne mat ID zaznamu z DB v nejakej polozke formulara. Pri add
moze byt NULL a pri edit bude mat hodnotu podla DB.
Jedina moznost ktoru som nasiel je mat toto id ulozene ako HiddenField
($form->addHidden()).
HiddenField
ma private $forcedValue
co zaruci ze sa
nezmeni u uzivatela, toho sa ale vyuziva iba vo frameworku samotnom (na
zabezpecenie) a premenna $forcedValue
nie je pristupna cez ziadny
public interface.
Prave tejto funkcie by som rad vyuzil.
Este lepsie by bolo mat nieco na styl
$form->addValueField($name, $value)
, s tym, ze tento element by
sa nerendroval a teda ani neposielal klientovi, bol by ale pristupny vo
validacii a submit handleri. Tento pristup sa pouziva napr. v drupale a IMHO to je dost prakticke, moze to obsahovat objekt
alebo cokolvek ine co sa pri spracovani moze hodit.
PS: samozrejme podedit a priohnut si formular a dorobit tieto veci viem, ale myslim ze by sa to hodilo v Nette.
- David Matějka
- Moderator | 6445
- proc prenaset ID ve formu? proc ne podle URL?
- forcedValue by mozna slo pouzit nejak takhle:
<?php
$form = new Form;
$hidden = new Controls\HiddenField("nejaka_hodnota");
$form['blabla'] = $hidden;
?>