nette 2.1 dev nefunkcne setValidationScope

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

Caute, fumguje toto v nette 2.1 dev? Mne to stale ten forular validuje, neviete niekto co mam zle?

$form->addSubmit('save', 'Save')
	->setValidationScope(FALSE);
$form->onValidate[] = callback($this, 'validateForm');

public function validateForm(Form $form)
{
	$form->addError('error');
}
radas
Člen | 225
+
0
-

Myslím, že správně je používat ->setValidationScope(NULL) nebo (TRUE) nebo bez parametrů, jelikož má parametr defaultní hodnotu NULL, viz API.

Ale taky mi to nefunguje (zkoušeno na 2.1-dev 2013–07–11 i 2013–07–22). Zkrátka validuje vždy.

radas
Člen | 225
+
0
-

Ale teď jsem zkusil FALSE a pak už validace neprojde. Je to ale zvláštní, protože v dřívějších kódech mám NULL a teď to vypadá, že se to bude muset přepsat. V changelogu jsem nenašel, že by byl nějaký BC break ohledně validation scope.

Editoval radas (26. 7. 2013 9:27)

duskohu
Člen | 778
+
0
-

No ono to validaciu na inpute vypne ale, ked mas callback, tak ta sa uz vykonava, takze to asi nie je spravne, ked ti vypne len cast validacie. :-)

https://forum.nette.org/…m-validation

Editoval duskohu (26. 7. 2013 9:47)

radas
Člen | 225
+
0
-

Máš pravdu, zkusil jsem Tvůj příklad a je to tak. Callback se volá vždy. Nicméně nechápu, jak to, že dříve (před pár týdny), když jsem měl setValidationScope(NULL), tak se nevalidovalo (tedy alespoň co vím tak v javascriptu), no teď vyžaduje k vypnutí FALSE i pro ten javascript. Ale žádná zmínka o BC breaku, takže asi bug.

Editoval radas (26. 7. 2013 9:55)

radas
Člen | 225
+
0
-

Tak byla to moje chyba. Způsobeno tím, že jsem neměl ve formuláři žádné pole setRequired().