2008-09-25 2 views
1

Мне нужно, чтобы проверить этот простой список выбора:Как бы вы легко могли проверить список выбора опций JSP?

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

ответ

2

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

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

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

1

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

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

+0

Olaf, спасибо большое за комментарий! – 2008-09-25 20:53:35

1

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

+0

Большое спасибо за ваш комментарий, я определенно хотел бы следовать вашим советам и узнать Весну, но дело в том, что я не начинаю приложение с нуля, я имею дело с существующим, проприетарным, производственным приложением. – 2008-09-28 15:48:34

Смежные вопросы