Trošku nelogické chování Form::setDefaults

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

Z chování to vypadá, že pokud zavolám na formuláři $form metodu setDefaults i přestože formulář má být zpracován ($form->isSubmitted() == true), pak výchozí hodnoty jsou nahrazeny. Ono je možné se tomu vyhnout podmínkou, ale toto chování je prostě matoucí.

Ano, vede to programátora k nahrávání z databáze pouze když je potřeba, ale tady bych viděl jiné řešení. (To v jiném threadu.)

Dál, vadí mi, že pokud této metodě předám klíč, který se neshoduje se jsménem žádné položky formuláře (jde tedy zjevně o chybu), metoda se tváří jakoby nic a já se můžu divit, proč to nefunguje tak jak chci. Byl by to problém?

Honza Kuchař
Člen | 1662
+
0
-

metoda se tváří jakoby nic a já se můžu divit, proč to nefunguje tak jak chci. Byl by to problém?

Byl by to dost drastický BC Break. Já tím třeba počítám.

v6ak
Člen | 206
+
0
-

Problém se zpětnou kompatibilitou chápu. V prvním případě by mohlo pomoct i pouze zanést tuto vlastnost do dokumentace.
V druhém případě by bylo relativně citlivým řešením E_NOTICE.

David Grudl
Nette Core | 8139
+
0
-

Asi by to chtělo udělat nějaké hlasování.

Honza Marek
Člen | 1664
+
0
-

honzakuchar napsal(a):

metoda se tváří jakoby nic a já se můžu divit, proč to nefunguje tak jak chci. Byl by to problém?

Byl by to dost drastický BC Break. Já tím třeba počítám.

Já taky.