Nette forms setRequired s vlastní chybovou hláškou vypíše standardní hlášku z Nette

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

Ahoj,
moje aplikace vychází ze Sandboxu.
Vytvářím formulář.

$form->addTextArea('defectDesc', $name)->setRequired("Muj text");

V reálu však chybová hláška při nevyplnění formuláře je „Vyplňte prosím toto pole“.
Očekával jsem tam Muj text.

Kde bych měl hledat chybu?

Díky za tipy.

CZechBoY
Člen | 3608
+
0
-

Určitě se díváš na chybovou hlášku u správného prvku + formuláře?

phoffman
Člen | 7
+
0
-

Zatím mám jen jeden formulář.
Celý kód je tento:

protected function createComponentClaimdetailForm() {
       $form = new UI\Form;
       //radio to set the type of claim
       $custClaim = self::$trans->translate("messages.claimdetail.CustClaim");
       $custAlert = self::$trans->translate("messages.claimdetail.CustAlert");
       $internalClaim = self::$trans->translate("messages.claimdetail.InternalClaim");
       $name = self::$trans->translate("messages.claimdetail.TypeLong");
       $warning = self::$trans->translate("messages.claimdetail.TypeLong_warning");
       $form->addRadioList("type", $name, array("custClaim" => $custClaim, "CustAlert"=>$custAlert, "internalClaim" => $internalClaim))
               ->setRequired("Muj text");

       //defect description textarea
       $name = self::$trans->translate("messages.claimdetail.DefectDesc");
       $warning = self::$trans->translate("messages.claimdetail.DefectDesc_warning");
       $form->addTextArea('defectDesc', $name)->setRequired(true, "Muj text");
       $form->addSubmit('login', 'Registrovat');
       $form->onSuccess[] = array($this, 'detailsFormSucceeded');
       return $form;
   }

Vlastní text chybové hlášky mi nefunguje ani u radia ani u textarea.

CZechBoY
Člen | 3608
+
0
-

No v úvodním příspěvku to setRequired voláš ale úplně jinak! (edit: u té textarea)

Pokud chceš vlastní error hlášku tak to volej zhruba takto:

$form->addText('name', 'Jméno')
	->setRequired('Jméno je povinné, tak ho vyplňte.');

Editoval CZechBoY (17. 4. 2016 0:59)

phoffman
Člen | 7
+
0
-

To je pravda. Moje chyba, výsledek pokusů s Radiolistem, kde jsem zkoušel různé varianty zápisu a tuto špatnou jsem překopíroval do Textarea.
Díky za upozornění. Nyní mi tedy funguje hláška u Textarea, ale ještě ne u radio listu.