Pouze tento týden sleva až 80 % na e-learning týkající se Javy. A zároveň využij akce až 30 % zdarma při nákupu e-learningu - Více informací.
Hledáme koordinátorku kurzů a programátora, 100% home office, 100% flexibilní. Prozkoumej aktuální pozice
Java week

Diskuze: Nette - Forms

Aktivity
Avatar
Juraj Mlich
Redaktor
Avatar
Juraj Mlich:27.11.2013 18:10

Zdravím, mám Presenter v ktorom mám metodu: (používam Nette)

public function renderEdit($id)
    {
        $this->template->recipe = $this->context->recipesReposity->getRecipe($id);
    }

Potom tam mám ešte metodu na vytvorenie komponenty:

public function createComponentEditRecipe()
    {
        $form = new Form;
        $form->addHidden('recipe_id');
        $form->addText('name', 'Název receptu:')
             ->setDefaultValue($this->template->recipe->name)
             ->setRequired('Musí být vyplneno!');
        $form->addTextArea('recipe', 'Recept: ')
             ->setDefaultValue($this->template->recipe->recipe)
             ->setRequired();
        $form->addUpload('preview_image', 'Obrázok: ')
             ->addRule(Form::MAX_FILE_SIZE, 'Maximálna veľkosť obrázku je 5 MB!', 1024*1024*5)
             ->addRule(Form::IMAGE, 'Súbor musí být obrázek!');
        $form->addSubmit('edit_recipe', 'Uložiť');
        $form->onSuccess[] = $this->saveRecipe;

        return $form;
    }

Keď stránku spustím tak je všetko v poriadku, chyba je až keď formulár odošlem - metóda komponenty sa spustí skôr ako metoda renderEdit a preto nemôže doplniť defaultné hodnoty. Mám pár návrhov ako to spraviť, ale podľa mňa sú zlé (nevalidné), tak by sa to podľa mňa robiť nemalo. A preto sa obraciam na vás - ako by ste túto situáciu riešili vy? Ďakujem za odpoveď :)

Editováno 27.11.2013 18:11
 
Odpovědět
27.11.2013 18:10
Avatar
Odpovídá na Juraj Mlich
Neaktivní uživatel:27.11.2013 18:13

Nevím, jak to Nette má, ale co komponentu vykreslit až potom, co se spustí metoda?

Nahoru Odpovědět
27.11.2013 18:13
Neaktivní uživatelský účet
Avatar
Juraj Mlich
Redaktor
Avatar
Odpovídá na Neaktivní uživatel
Juraj Mlich:27.11.2013 18:18

Veď to je práve ten problém, ono to funguje dobre, ale až keď niečo odošlem vtedy sa tá metoda zavolá skôr. Neviem to ovplyvniť :(

 
Nahoru Odpovědět
27.11.2013 18:18
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na Juraj Mlich
Neaktivní uživatel:27.11.2013 18:24

Tak nevím, zkus se zeptat na Nette fóru.

Nahoru Odpovědět
27.11.2013 18:24
Neaktivní uživatelský účet
Avatar
Juraj Mlich
Redaktor
Avatar
 
Nahoru Odpovědět
27.11.2013 18:32
Avatar
Juraj Mlich
Redaktor
Avatar
Juraj Mlich:27.11.2013 19:27

Pokiaľ by niekto hľadal odpoveď ako som to vyriešil : http://forum.nette.org/…ltna-hodnota

 
Nahoru Odpovědět
27.11.2013 19:27
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.