Как бы вы легко проверили список выбора опций JSP?

StackOverflow https://stackoverflow.com/questions/135534

Вопрос

Мне нужно проверить этот простой список выбора:

<select name="<%= key %>">
    <option value="ETC" SELECTED>Select an option...</option>
    <option value="ONE">Lorem ipsum</option>
    <option value="TWO">dolor sit amet</option>
</select>

Таким образом, пользователь никогда не отправит форму с выбранной, извините за повторение, опцией «Выберите вариант...».В принципе, мне разрешено использовать JavaScript, но было бы интересно узнать, как решить эту проблему и в JSP.

Это было полезно?

Решение

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

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

Просто помните, что проверка на стороне клиента не является обязательной и хороша для проверки входных данных «частых ошибок», но проверка на стороне сервера обязательна для всех входных данных, независимо от того, были ли выполнены какие-либо проверки на стороне клиента для данного входных данных.

Другие советы

В настоящее время вы обычно не выполняете проверку в JSP, потому что они визуализируют только то, что было обработано ранее.Таким образом, единственная проверка, которую вы выполняете «в jsps», обычно — это Javascript.В остальном (настоящее подтверждение) я поддерживаю то, что ответил Пит:Вы должны делать это на стороне сервера, какую бы технику вы там ни использовали.Когда он снова отображается в JSP, можно надеяться, что проверка уже давно завершена.

Как я сказал «в наши дни»:Когда JSP был новой блестящей концепцией, гораздо больше делалось внутри границ JSP, а иногда даже формы размещались в JSP. Как валидация была еще более нестандартной в то время.

JSP — это «представление» в шаблоне MVC, поэтому его следует использовать только для представления данных пользователю.Любая логика приложения, включая логику проверки, должна выполняться на стороне сервера.Если этот JSP предназначен для использования в большом приложении, я бы рекомендовал использовать Spring MVC для настройки вашего приложения и написать валидатор для проверки входных данных.Но даже если мы не говорим здесь о каком-то большом приложении, проверка все равно должна выполняться на стороне сервера, как уже отмечали другие до меня.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top