JSPオプション選択リストをどのように簡単に検証しますか?
-
02-07-2019 - |
質問
この単純な選択リストを検証する必要があります:
<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内でJavaScriptを解決する方法を学ぶことは興味深いことです。
解決
クライアント側を制御できないため、「指定された値を送信しない」という条件を実際に満たすことはできません。ユーザーはいつでもHTMLを操作して、必要なものを送信できます。
JavaScriptを使用してクライアント側の検証を行い、ユーザーに迅速なフィードバックを提供し、99%以上のケースをキャッチしてから、送信されたパラメーターのサーバー側の検証を行って、 JSを有効にしていない、またはHTMLを操作して予期しない値を送信するユーザー。
クライアント側の検証はオプションであり、「よくある間違い」の入力検証には適していますが、クライアント側のチェックが行われたかどうかにかかわらず、すべての入力にはサーバー側の検証が必須であることを忘れないでください与えられた入力。
他のヒント
最近では、JSPでは以前に処理されたものだけを視覚化するため、通常は検証しません。したがって、「jspで」行う唯一の検証は、通常はJavaScriptです。残りの部分(実際の検証)については、Peteが答えた次の点について説明します。 JSPに再び表示されたら、検証が長く行われていることを期待しています。
「今日」と言ったように、JSPが輝かしい新しい概念であったとき、JSPの境界内でさらに多くのことが行われ、フォームがJSPに投稿されることさえありました。検証する方法 は、その時点ではさらに非標準でした。
JSPは&quot; view&quot;です。 MVCパターンであるため、データをユーザーに提示するためにのみ使用する必要があります。検証ロジックを含むすべてのアプリケーションロジックは、サーバー側で実行する必要があります。 このJSPが大規模アプリの一部である場合、Spring MVCを使用してアプリをセットアップし、バリデーターを作成して入力を検証することをお勧めします。 しかし、ここでいくつかの大きなアプリケーションについて話していない場合でも、検証はサーバー側で行う必要があります。他の人が既に述べたように。