Parameter s nazvom action odescapovany?

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

Caute,

presiel som na Nette 2.1, a formulare sa mi zacali chovat podivne. Zadefinujem dva hidden-fieldy,

<?php
            $this->addHidden('action','list');
            $this->addHidden('id', 1 );
?>

a vysledny vygenerovany kod je

<?php
<div>
<input id="frm-controlAscent-action" type="hidden" value="ascents" name="_action">
</div>
<div>
<input id="frm-controlAscent-id" type="hidden" value="1" name="id">
</div>
?>

co je problem, lebo parameter ktory sa ma volat action sa mi vrati ako _action, name toho hidden fieldu je ine ako by som cakal. Je to zamerom? Nejake dobre napady kam sa kuknut?

Diky.

David Matějka
Moderator | 6445
+
0
-

je to mezi unsafeNames

ale pokud k hodnote pristupujes pres $form->getValues() tak by ti to melo byt jedno, ne?

Editoval matej21 (2. 5. 2014 18:35)

brano
Člen | 25
+
0
-

Hm, dik. Taketo daco som cakal, ale nevypatral. No, problem je, ze podla toho parametru sa mi routuje akcia,

<?php
        $router[] = new Route( '<presenter>.php?action=<action>', array(
                'module' => 'Front',
                'presenter' => $defaultFrontPresenter,
                'action' => $defaultFrontAction,
        ));
?>

a kedze na tom uz zavisia ine applikacie cez dohodnute API, tak mam trochu problem to zmenit. No nic, pospekulujem.

A preco sa to vlastne dostalo medzi unsafe names?