Formuláře a addRule hlasí App\Form not found
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- mardon
- Člen | 59
v presenteru mám
protected function createComponentPostRecord()
{
$form = new Nette\Application\UI\Form;
$form->addText('title', 'Titulek:')
->setRequired();
$form->addTextArea('content', 'Popis:')
->setRequired();
$form->addTextArea('adress', 'Adresa:')
->setRequired();
$form->addText('url', 'Adresa webu:')->addRule(Form::URL, 'Zadejte url webu ve správném formátu');
$form->addText('email', 'Zadejte email:')->addRule($form::EMAIL, 'Zadali jste neplatný email.')->setRequired();
$form->addTextArea('telefon', 'Telefon:')
->setRequired();
$form->addSelect('category','Kategorie:',$this->recordFacade->getCatbyId());
$form->addSubmit('send', 'Uložit');
$form->onSuccess[] = $this->postRecordSucceeded;
return $form;
}
vykreslení skončí chybou Class ‚App\Form‘ not found na řádku
$form->addText('url', 'Adresa webu:')->addRule(Form::URL, 'Zadejte url webu ve správném formátu');
pokud ovšem opravím na
$form->addText('url', 'Adresa webu:')->addRule($form::URL, 'Zadejte url webu ve správném formátu');
již se form vykreslí, pro opravu chyby Class ‚App\Form‘ not found mi ani mepomohlo
use \Nette\Form;
trochu se vtom asi plácám v dokumentaci je
use Nette\Forms\Form;
$form = new Form;
ale v quickstartu je
$form = new Nette\Application\UI\Form;
- Robyer
- Člen | 74
mardon napsal(a):
trochu se vtom asi plácám v dokumentaci jeuse Nette\Forms\Form; $form = new Form;
ale v quickstartu je
$form = new Nette\Application\UI\Form;
use Nette\Application\UI\form;
je pro použití v nette aplikaci s presentery. To druhé (Nette\Forms\Form) je pro samostatné použití formulářů v aplikaci bez Nette presenterů.
Editoval Robyer (28. 12. 2013 18:33)
- mardon
- Člen | 59
Aha takže pokud použiji tak jak jsem si otestovala, že mi to funguje tedy:
protected function createComponentPostRecord()
{
$form = new Nette\Application\UI\Form;
$form->addText('title', 'Titulek:')
->setRequired();
$form->addTextArea('content', 'Popis:')
->setRequired();
$form->addTextArea('adress', 'Adresa:')
->setRequired();
$form->addText('url', 'Adresa webu:')->addRule($form::URL, 'Zadejte url webu ve správném formátu');
$form->addText('email', 'Zadejte email:')->addRule($form::EMAIL, 'Zadali jste neplatný email.')->setRequired();
$form->addTextArea('telefon', 'Telefon:')
->setRequired();
$form->addSelect('category','Kategorie:',$this->recordFacade->getCatbyId());
$form->addSubmit('send', 'Uložit');
$form->onSuccess[] = $this->postRecordSucceeded;
return $form;
}
je to správně, mě trochu zmátla ta dokumentace