SetValidationScope na vnořený container

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

Ahoj, mohl by mi někdo říci co dělám špatně ?

        $servicesContainer = $form->addContainer('services');
        $services = $this->serviceModel->findAll();
        /** @var ActiveRow $service */
        foreach ($services as $service) {
            $serviceContainer = $servicesContainer->addContainer($service->id);
            $serviceContainer->addText('name', $service->name)->setOmitted();
            $serviceContainer->addText('price', 'Cena')
                ->addRule(Form::FLOAT, 'Cena musí být číslo');
        }

        $form->addSubmit('saveServices', null)->setValidationScope([$servicesContainer])->onClick[] = $callback['saveServices'];

když smažu validationScope tak funguje, ale když mu nastavím validaci na container services, tak to ignoruje. Díky

Editoval kleinpetr (8. 12. 2015 15:11)

David Matějka
Moderator | 6445
+
0
-

tak to ignoruje

jako ze se nevolaji ty validace (treba FLOAT na price)?

kleinpetr
Člen | 480
+
0
-

přesně

@DavidMatějka čím by to tedy mohlo být ?

Editoval kleinpetr (8. 12. 2015 16:16)

David Matějka
Moderator | 6445
+
0
-

Nevim, chybu tam nevidim. Napsal jsem na to test a funguje mi to, tak to budes muset nejak zdebugovat..

kleinpetr
Člen | 480
+
0
-

To je divné, protože když dám pryč setValidationScope tak se to chová správně, tak jsem z toho blázen.. každopádně díky za snahu :)

Editoval kleinpetr (8. 12. 2015 18:08)

kleinpetr
Člen | 480
+
0
-

Tak když odeberu formu třídu ajax tak to funguje, ale je to zvláštní, protože bez setValidationScope to jde i s ajaxem..

P.S. asi jsem měl zmínit, že v tu chvíly je nefunkční nette.forms.js tudíž nevyskočí alert() jinak pravděpodobně funguje..

Editoval kleinpetr (8. 12. 2015 18:16)