1

サーブレット内のフォームで少なくとも1つのラジオボタンが選択されていることを確認することができますか?サーブレットを使用してサーバー側のラジオボタンを有効にします

このタイプの検証は、JavaScriptなどでクライアント側でのみ実行できますか?

回避策として、デフォルトでラジオボタンを確認できますが、ラジオボタンを最初に選択しないことをお勧めします。ユーザーがフォームを送信しようとするとエラーメッセージが表示されます。

WebアプリケーションでJavaサーブレットを使用しているだけなので、サーブレットのみを使用する前にこれを行っていれば素晴らしいと思います。

ありがとうございます。

答えて

3

サーブレットでは、選択したラジオが同じグループ内にある場合、それらのラジオの値を取得します。ユーザーがラジオを選択していない場合は、nullの値を受け取ります。アクションでそれを見てみましょう:サーブレット側で

<form method="POST" action="HelloWorldServlet"> 
    <input type="radio" name="sampleRadio" value="val1" />Value 1 
    <br /> 
    <input type="radio" name="sampleRadio" value="val2" />Value 2 
    <br /> 
    <input type="submit" value="Hello Servlet" /> 
</form> 

:偉大Luiggiザッツ

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    response.setContentType("text/html;charset=UTF-8"); 
    String radio = request.getParameter("sampleRadio"); 
    if (radio != null) 
     System.out.println("value of selected radio: " + radio); 
    else 
     System.out.println("no radio button was selected"); 
} 
+0

、ありがとうございました。私はあなたのソリューションにとても近く、私は実際に同じコードを使用して、後で処理するためにセッションオブジェクトにラジオボタンの値を格納していました。したがって、これまでのフォローアップとして、エラーが発生したページを再表示し、次のリクエストを処理しない(ラジオボタンが選択されている場合)最善の方法を知っていますか? – elgoog

+0

@elgoogこれは別の質問であるはずです:)しかし、エラー(エラーの論理値を保持するセッション変数)がある場合にのみ表示する必要があるラジオボタンの横にいくつかのラベルが必要で、真値を持つエラー変数を持つページ。 –

+0

それは良い解決策に見えますね。もう一度お疲れ様でした。 – elgoog

関連する問題