Вы никогда не сможете действительно выполнить условие «никогда не отправлять заданное значение», потому что у вас нет контроля над клиентской стороной. Пользователь всегда может манипулировать HTML, чтобы отправлять все, что он хочет.
Хорошим подходом является использование JavaScript для проверки на стороне клиента, быстрой обратной связи с пользователем и выявления более 99% случаев, затем проверка на стороне сервера представленных параметров для выявления меньшинства, которое JS не включен или кто манипулирует HTML для отправки непредвиденных значений.
Просто помните, что проверка на стороне клиента является необязательной и подходит для проверки входных данных этих «общих ошибок», но проверка на стороне сервера обязательна для всех входных данных независимо от того, были ли выполнены какие-либо проверки на стороне клиента заданный ввод.