Главная мысль
Input validation проверяет, что недоверенные данные имеют ожидаемый тип, формат, длину, диапазон и бизнес-смысл.
Браузерная валидация улучшает UX, но каждая security boundary валидирует на доверенном сервере: клиент обходят напрямую. Предпочтительны allowlist и явные схемы.
Важно
Валидация снижает мусор и abuse, но не универсальная защита от injection. Параллельно: bind SQL, encode output, sanitize HTML, отдельно enforce authorization.
Итог: валидируй на сервере по схеме; не путай validation с encoding/parameterization.