po ->setValidationScope(NULL) se formulář stále odesílá

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
eldest
Člen | 58
+
0
-
public function createComponentAdd()
        {
            $form = new AppForm;
            $form->getElementPrototype()->class('ajax');
            $renderer = $form->getRenderer();

            $renderer->wrappers['form']['container'] = NULL;
            $renderer->wrappers['form']['errors'] = FALSE;
            $renderer->wrappers['error']['container'] = NULL;
            $renderer->wrappers['error']['item'] = 'span class=oddelit';
            $renderer->wrappers['group']['container'] = NULL;
            $renderer->wrappers['group']['label'] = 'h3';
            $renderer->wrappers['pair']['container'] = NULL;
            $renderer->wrappers['controls']['container'] = NULL;
            $renderer->wrappers['control']['container'] = 'td';
            $renderer->wrappers['control']['errors'] = TRUE;
            $renderer->wrappers['label']['container'] = NULL;

            foreach ($this->template->set['col'] as $key => $col)
            {
                switch($col['input']['type'])
                    {
                        case 'text':
                             if(isset($col['dbtype']))
                             {
                                 switch ($col['dbtype'])
                                 {
                                     case 'int':
                                      $form->addText($col['field'], $col['caption'], $col['input']['size'])
       ->addRule(Form::FILLED, 'Pole '.$col['caption'].' musí být vyplněno!')
        ->addRule(Form::INTEGER, 'Pole '.$col['caption']. ' nemá správný formát.')
                                                 ->getLabelPrototype()->class('hidden');
                                         break;
                                 }
                             } else {
                                 $form->addText($col['field'], $col['caption'], $col['input']['size'])
       ->addRule(Form::FILLED, 'Pole '.$col['caption'].' musí být vyplněno!')
                                     ->getLabelPrototype()->class('hidden');
                             }

                        break;
                    case 'checkbox':
                        $form->addCheckbox($col['field'], $col['caption'])
                                ->getLabelPrototype()->class('hidden');
                        break;
                    };
            }

            $form->addSubmit('send', 'Přidej');
            $form->addSubmit('cancel', 'Cancel')
                ->setValidationScope(NULL)
                    ->onClick[] = 'cancelClicked';
            $form->onSubmit[] = array($this, 'formAddSubmitted');
            $form->onInvalidSubmit[] = array($this, 'invalidSubmit');

            return $form;
        }

Když kliknu na cancel, je to stejné, jako bych klikl na Přidej. Mám v tom chybu já a nebo je to bug ?

Aurielle
Člen | 1281
+
0
-

Zruš onSubmit a onInvalidSubmit a místo toho navaž událost pro odeslání na send tlačítko…

eldest
Člen | 58
+
0
-

Děkuju