Вот это проверка не должна находиться в основной функции. По идее ваш фильтр должен обработать такую ситуацию и выдать ошибку.