Как вы могли бы легко проверить список выбора опций JSP? - PullRequest
1 голос
/ 25 сентября 2008

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

<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.

Ответы [ 3 ]

2 голосов
/ 26 сентября 2008

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

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

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

1 голос
/ 26 сентября 2008

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

1 голос
/ 26 сентября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...