Class ‚Nette\Application\AppForm‘ not found
- ondrakrajcik
- Člen | 45
Zdravím,
potřebuju začátečníckou radu. Podle tutoriálu https://www.youtube.com/watch?…
jsem začal dělat kontaktní formulář. Bohužel mně debuger neustále
vyhazuje chybu „Class ‚Nette\Application\AppForm‘ not found“
Zdroják je stejný jako ve videu:
*<?php
use Nette\Application\AppForm,
Nette\Forms\Form;
class ContactForm extends AppForm{
public function __construct(Nette\IComponentContainer $parent = NULL, $name =
NULL) {
parent::__construct($parent,$name);
$this->buildForm();
}
protected function buildForm(){
$this->getElementPrototype()->setNovalidate(„novalidate“);
$this->addText(„name“,„Vaše jméno“)
->addRule(forms::Filed,„Vyplnte vaše jméno“);
$this->addText(„email“,„Vaš email“)
->addRule(forms::Filed,„Vyplňte váš email.“)
->addRule(forms::Email,„Zadali jste neplatný email.“);
$this->addText(„message“,„Zpráva“)
->addRule(forms::Filed,„Vyplňte zprávu.“);
$this->addSubmit(„ok“,„Odeslat“);
}
}
?>
*
Nevíte někdo v čem by mohl být problém?
- ondrakrajcik
- Člen | 45
one-two napsal(a):
Video je staré, třída AppForm se změnila na Nette\Application\UI\Form, stejně tak v konstruktoru bude Nette\ComponentModel\IContainer
Dík, ale po přepsání vyhazuje chybu „Class ‚Nette\Application\UI\Form‘ not found“
*<?php
use Nette\Application\UI\Form;
class ContactForm extends Form{
public function __construct(Nette\ComponentModel\IContainer $parent = NULL,
$name = NULL) {
parent::__construct($parent,$name);
$this->buildForm();
}
protected function buildForm(){
$this->getElementPrototype()->setNovalidate(„novalidate“);
$this->addText(„name“,„Vaše jméno“)
->addRule(forms::Filed,„Vyplnte vaše jméno“);
$this->addText(„email“,„Vaš email“)
->addRule(forms::Filed,„Vyplňte váš email.“)
->addRule(forms::Email,„Zadali jste neplatný email.“);
$this->addText(„message“,„Zpráva“)
->addRule(forms::Filed,„Vyplňte zprávu.“);
$this->addSubmit(„ok“,„Odeslat“);
}
}
?>
*
- Pavel Macháň
- Člen | 282
Házej prosím ten php kód do php tagu (hned vedle ikonky pro odkaz). Takhle
se to strašně špatně čte.
Každopádně Nette\Application\UI\Form by měl fungovat od
2.0. Jaké nette používáš?
- ondrakrajcik
- Člen | 45
Nette jsem stahoval z "":https://nette.org/cs/packages , ale nejsem si jistý zda 2.1.0 nebo 2.0.14, ale řekl bych že spíš 2.1.0 používám
- Pavel Macháň
- Člen | 282
ondrakrajcik napsal(a):
Nette jsem stahoval z "":https://nette.org/cs/packages , ale nejsem si jistý zda 2.1.0 nebo 2.0.14, ale řekl bych že spíš 2.1.0 používám
Nevidím důvod proč by to nemělo jít, každopádně sem si tam všimnul chyb u pravidel:
->addRule(forms::Email, ...)
má být
->addRule(Form::EMAIL, ...)
a to samé u ostatních pravidel viz Dokumentace
Editoval EIFEL (23. 1. 2014 11:11)
- romiix.org
- Člen | 343
Tak ti teda asi nefunguje autoloading. Čo takto použiť composer a
sandbox? Tam ti to pôjde.
Editoval romiix.org (23. 1. 2014 12:04)
- Pavel Macháň
- Člen | 282
romiix.org napsal(a):
Tak ti teda asi nefunguje autoloading. Čo takto použiť composer a sandbox? Tam ti to pôjde.
Pokud by mu nešel autoloading tak by se mu to nedostalo ani do té jeho komponenty (nenastartovalo by ani Nette)
Editoval EIFEL (23. 1. 2014 11:23)