Не надо делать и там и там. Делаешь или внутри контролера формой, или до контролера реквестом.
Это уходит уже в метапрограммирование.
Если хочется проверить, что page is int and greater than 0, то можно сделать в роутах. Всё остальное лучше делать в контроллере, иначе не найдешь, почему старый метод не работает, а новый работает.
Тем более потом брать
$request->getAttribute(page) - потенциально можно здесь облажаться, если не сделать проверку, что значение а) число б) больше 0. Все статические анализаторы будут кричать, что потенциальная бага
Я не вижу смысла в такой валидации.