Validační výraz pro GET parametry URL

HonzaN
Člen | 66
+
0
-

Je možné validovat tvar URL adresy v routě i pro jednotlivé GET parametry ?

Chtěl bych odchytávat starý tvar URL adres ze staré verze aplikace a dělat přesměrování na nový tvar.

Původní URL je /clanky/?category=about&newsId=123

Jenže routa

<?php
$router[] = new Route('<lang [a-z]{2}>/clanky/?category=<category>&newsId=<newsId>', [
			'lang' => 'cs',
			'presenter' => 'Presenters:Redirect',
			'action'    => 'articles',
		]);
?>

matchne pokaždé, i v případě že jeden z parametrů schází. Přitom je mám v routě jako povinné…

David Matějka
Moderator | 6445
+
0
-

ahoj, podpora pro GET parametry je v Route jen na té úrovni, že můžeš přejmenovat parametry pro aplikační request.

můžeš si ale napsat globální filtr, který routu zamítne (vrátí null), pokud bude některý parametr chybět