質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

1284閲覧

必須チェックの付与についてです。

megu0209

総合スコア13

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2016/10/20 02:29

編集2016/10/20 08:15

はじめまして。初めての質問となります。
現在Javaを使用して、会員情報などの登録画面を作っております。

登録ボタンを押下した際における、必須チェックイベントの作成に関して質問したいことがございます。
YES.NOのラジオボタンを表示させ、YESが選択されている場合に、その後ろにあるセレクトリストから何かしらの項目を必須で選択しなければならない処理を実装したいのですが、上手くいかず滞ってしまっています。
webフレームワークはApache Clickを使用しております。

##該当のソースコード

public boolean onSubmitRegist() { // アプリログ出力 log.info(String.format("ボタン押下: sessionId=%s, timeout=%s", getContext().getSession().getId(), getContext().getSession().getMaxInactiveInterval())); log.debug("form.isValid() = " + form.isValid()); // 入力チェック if (form.isValid()) { return false; } return true;

ここまで記載しております。
if (form.isValid()) 以下にif文を記載したいのですが、どのように必須チェックを記載すればよいのか分からず停滞してしまっている状況です。
どのように必須チェックを記載すればよいのかご教授お願いいたします。

記載したラジオボタンとセレクトリストはこのようになっております。

inRadio = new ClickRadioGroup("radio", "出席");
inRadio.setVerticalLayout(false);
inRadio.add(new Radio("1", "Yes "));
inRadio.add(new Radio("2", "No "));
inRadio.setValue("1");
form.add(inRadio, 5);

ClickSelect inSelect = new ClickSelect("select", "出席", false);
inSelect.add(Constants.SELECT);
inSelect.add("A");
inSelect.add("B");
inSelect.add("C");
inSelect.add("D");
form.add(inSelect, 5);

質問の内容が雑になってしまい、申し訳ございません。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

formオブジェクトが何であるかがわからないので、一般的なJavaWebアプリケーションの回答になりますが、

ラジオボタンの値が YES か NO でまず判定し、
YESのときは、セレクトリストの値を取得するように記載すれば良いでしょうか。

画面で選択したラジオボタンやセレクトリストの値は、おそらくformの中に入っていると思われますので、
formがどのようなメソッドがあるのか不明ですが、おそらく、formのisValid()の中に、

java

1String radio = form.getYesNoRadio(); 2if ( "YES".equals(radio)) { 3 // YESのときの処理 4 String selectValue = form.getSelectValue(); 5 if ( selectValue == null || "".equals(selectValue) { 6 return false; 7 } 8} else { 9 // NOのときの処理 10} 11 12return true;

のような実装をすれば良いかと。

投稿2016/10/20 03:26

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

megu0209

2016/10/20 06:39

ご回答ありがとうございます。 すみませんformはClickです。Apache Clickを使用しております。 ご教授いただいた記述で行ってみたいと思います。 ご丁寧にありがとうございます。
megu0209

2016/10/20 06:45

getYesNoRadiogetとSelectValueがform未定義となってしまいました。。 これはformを設定したファイルにこの二つのメソッドを追記する必要があるということでしょうか。
megu0209

2016/10/20 06:54 編集

情報が少なく申し訳ございません。。 項目はこのように記述しております。 inRadio = new ClickRadioGroup("radio", "出席"); inRadio.setVerticalLayout(false); inRadio.add(new Radio("1", "Yes  ")); inRadio.add(new Radio("2", "No  ")); inRadio.setValue("1"); form.add(inRadio, 5); ClickSelect inSelect = new ClickSelect("select", "出席", false); inSelect.add(Constants.SELECT); inSelect.add("A"); inSelect.add("B"); inSelect.add("C"); inSelect.add("D"); form.add(inSelect, 5); 出席を選択した場合A~Dいずれかを必須で選択しなければならないイベントをボタン押下時に発生させたいです。。
A-pZ

2016/10/20 08:05

質問文を編集して、Apache Clickを利用していることと、実装しているソースコードを転記してくださいますか。 残念ながらClickは詳しくありませんので、他の方からの回答が得られるかも知れません。
megu0209

2016/10/20 08:15

質問文を修正いたしました。 とてもご親切にありがとうございます。至らない質問で申し訳ございませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問