Проверка ВСЕГДА должна выполняться на стороне сервера. Кроме того, это хорошо на стороне клиента.
То, как вы это сделаете, зависит от того, на чем написано ваше приложение. Любой язык должен быть способен обрабатывать проверку; важна логика, а не язык.
Это также зависит от того, что вы делаете с данными, которые вам дают. Помещение его в URL или сохранение его в базе данных SQL требует двух очень разных типов очистки. Если возможно, внесите в белый список допустимые значения - не включайте в черный список недопустимые значения. Кто-то всегда сможет придумать новый неправильный ввод, который вы не рассматривали.