Podivné chování formulářů po odeslání
- Grelek
- Člen | 233
Zdravím,
asi mám magické Nette nebo server. Stejným způsobem píši formuláře od
doby, co jsem s Nette začal. Do teď fungovaly, jak měly. Nyní ale řeším
problém, kdy vytvořím komponentu, vykreslím ji v šabloně, ale po
stisknutí tlačítka na odeslání se sice daná metoda zavolá, ale nic
neudělá.
Ukáži to na zdrojových kódech.
Presenter:
public function createComponentAddReferenceForm()
{
$form = new Form();
$form->addText('title', 'Titulek')
->setRequired('Prosím, vyplňte titulek.')
->addRule(FORM::MAX_LENGTH, 'Titulek je příliš dlouhý, maximální povolená délka je 200 znaků.', 200);
$form->addTextArea('content', 'Obsah');
$form->addText('technologies', 'Nástroje')
->setRequired('Prosím, vyplňte nástroje.')
->addRule(FORM::MAX_LENGTH, 'Nástroje jsou příliš dlouhé, maximální povolená délka je 400 znaků.', 400);
$form->addUpload('img', 'Screenshot')
->addRule(FORM::IMAGE, 'Screenshot musí být JPEG, PNG nebo GIF.')
->addRule(FORM::MAX_FILE_SIZE, 'Screenshot je příliš velký, maximální velikost screenshotu je 5 MB.', 5000000);
$form->addText('webpage', 'Adresa')
->addRule(FORM::MAX_LENGTH, 'Adresa je příliš dlouhá, maximální povolená délka je 100 znaků.', 100);
$form->addSubmit('add', 'Upravit');
$form->onSuccess[] = callback($this, 'addReferenceFormSubmitted');
return $form;
/**
* @todo: Upload obrázku na server a uložení cesty do databáze
*/
}
public function addReferenceFormSubmitted(Form $form)
{
$this->flashMessage('test', 'flashInfo');
}
Po odeslání onoho „magického“ formuláře, se
flashMessage
nevypíše. Problém mám pouze v tomto presenteru,
v ostatních presenterech administrace to funguje, jak má.
- potty
- Člen | 13
voda napsal(a):
Máš správný namespace u
use
pro Form?
Díky, měl jsem stejný problém s neodesíláním formuláře a bylo to špatným namespace. Místo Nette\Application\UI\Form jsem měl Nette\Forms\Form.
Toho bych si jinak vůbec nevšiml, jelikož to nevyhazuje žádnou chybu.
Editoval potty (24. 7. 2012 18:40)
- tajo
- Člen | 20
potty napsal(a):
voda napsal(a):
Máš správný namespace u
use
pro Form?Díky, měl jsem stejný problém s neodesíláním formuláře a bylo to špatným namespace. Místo Nette\Application\UI\Form jsem měl Nette\Forms\Form.
Toho bych si jinak vůbec nevšiml, jelikož to nevyhazuje žádnou chybu.
S tímhle jsem také jednu půlhodinku strávil. :)