formular v komponente a nefunkcni CALLBACK storno button

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

Ahoj mam komponentu

<?php
namespace App\AdminModule\SystemModule\Components\Firmy;
class ZakladniInformaceTabControl extends \App\AdminModule\Components
{
/* FACTORIES FORM */
    function createComponentPridatFirmuForm()
    {
        $fData = array('parent'=>$this,
                    'name'=>'pridatFirmuForm');

        $form = $this->ZakladniInformaceFormFactory->mainForm($fData);

        return $form;
    }
}

a formular

<?php
namespace App\AdminModule\SystemModule\Factories\Firmy;

// use Nette\Forms\Container;
use \Nette\Forms\Controls\SubmitButton;
use \Nette\Application\UI\Form;
use \Vosy\Form\MyForm;

class ZakladniInformaceFormFactory extends \App\AdminModule\Factories\FormFactory
{
    public function mainForm($opt=array())
    {
//.....
		$form->addSubmit('ulozit', 'Uložit');

        $form->addSubmit('storno', 'Storno')
                ->setValidationScope(NULL)
                ->onClick[] = callback($this, 'mainFormStorno');
	}

	 public function mainFormStorno(\Nette\Forms\Controls\SubmitButton  $button)
    {
		//......
	}
}

a zaboha pri zmacknuti STORNO se nezavola fce mainFormStorno()

ODIS
Člen | 33
+
0
-

Nemělo by být storno spíš button, než submit? Nevím sice, jakou používáš verzi Nette, ale zkus místo callbacku použít:

->onClick[] = array($this, 'mainFormStorno');
vosy
Člen | 532
+
0
-

nette 2.2.2

David Matějka
Moderator | 6445
+
0
-

imho za to muze validation scope – null je defaultni hodnota a znamena „validuj vse“, pro vypnuti validace pouzij false nebo array()
Takze se ti to asi nezavola proto, ze to neprojde validaci…

@ODIS submit je spravne..

vosy
Člen | 532
+
0
-

super, dekuji