Form::IS_IN

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

Chtěl bych se zeptat, jakým způsobem se používá validační pravidlo Form::IS_IN.
Mám pole $uri. Chci, aby nebylo možné ve formuláři poslat nic, co je v poli $uri. Pochopil bych, že to bude fungovat ve stylu

<?php
$form->addText('uri', 'URL')
	->addRule(~Form::IS_IN, $uri);
?>

Což ovšem hlásí chybu, protože IS_IN očekává string. Jaký oddělovač hodnot je tedy ve stringu použit? Díval jsem se do příkladů, hledal jsem v dokumentaci a nikde jsem o IS_IN nenašel žádnou zmínku kromě článku na zdrojáku, kde je zmíněna pouze jaksi mimochodem..

Tomik
Nette Evangelist | 485
+
0
-

Pokud se člověk podívá do kódu (tedy např. do API – https://api.nette.org/…ms/Form.html#…), zjistí, že IS_IN funguje stejně jako EQUAL, zdá se tedy, že zatím toto není implementováno.

Ola
Člen | 385
+
0
-

Fungovat by to mělo, hlavní problém bude v tom, že parametr 2 musí být string :-) je to totiž chybová hláška – parametr $uri patří až za to ;-)

Ondřej Mirtes
Člen | 1536
+
0
-

Není IS_IN validační podmínka pro in_array("lookfor", array()) ?

Z0MBie
Člen | 19
+
0
-

Ola napsal(a):

Fungovat by to mělo, hlavní problém bude v tom, že parametr 2 musí být string :-) je to totiž chybová hláška – parametr $uri patří až za to ;-)

Dejte mi facku a propleskněte mně utpčkem. Jistěže to UŽ funguje. Bože, proč mi to nedošlo v ty dvě hodiny ráno zdvihá oči k nebesům… Díky moc :).