回答編集履歴

2 修正

akabee

akabee score 1914

2017/05/16 09:36  投稿

どのやり方もケースバイケースではありますが、この場合、私なら氏名、メール、パスワード、ユーザー名について一つずつif文による判定を入れ、**エラーになった分のエラー文言を配列に格納します。**
その後、**配列に一つでも値が入っていれば、その値を繰り返し処理で全て表示します。**
これで、一つ一つのエラーチェックに対して、該当するエラーのみを表示することが出来ます。
■処理概要
1.エラー文言配列「error」を宣言
2.氏名が入力されていない → errorに「氏名を入力して下さい」を格納
3.メールが入力されていない → errorに「メールを入力して下さい」を格納
4.パスワードが入力されていない → errorに「パスワードを入力して下さい」を格納
5.ユーザーが入力されていない → errorに「ユーザーを入力して下さい」を格納
6.errorの配列の長さが0でなければ、errorに格納されている値を全て表示する
※追記
例えばこんな感じでしょうか。デバッグしていないので動くかどうかは分かりません。参考程度としてください。
```java
ArrayList<String> errors = new ArrayList<String>();
if(nickName == null){
 errors.add(" * 氏名を入力してください。");
}
if(eMail == null){
 errors.add(" * メールアドレスを入力してください。");
}
if(pass == null){
 errors.add(" * パスワードを入力してください。");
}
if(userName == null){
 errors.add(" * ユーザー名を入力してください。");
}
if(errors.isEmpty == true){
if(errors.isEmpty == false){
 //エラー処理
 for(int i=0; i < errors.size(); i++) {
   System.out.println(errors.get(i));
 }
}
```
1 追記

akabee

akabee score 1914

2017/05/15 21:30  投稿

どのやり方もケースバイケースではありますが、この場合、私なら氏名、メール、パスワード、ユーザー名について一つずつif文による判定を入れ、**エラーになった分のエラー文言を配列に格納します。**
その後、**配列に一つでも値が入っていれば、その値を繰り返し処理で全て表示します。**
これで、一つ一つのエラーチェックに対して、該当するエラーのみを表示することが出来ます。
■処理概要
1.エラー文言配列「error」を宣言
2.氏名が入力されていない → errorに「氏名を入力して下さい」を格納
3.メールが入力されていない → errorに「メールを入力して下さい」を格納
4.パスワードが入力されていない → errorに「パスワードを入力して下さい」を格納
5.ユーザーが入力されていない → errorに「ユーザーを入力して下さい」を格納
6.errorの配列の長さが0でなければ、errorに格納されている値を全て表示する
6.errorの配列の長さが0でなければ、errorに格納されている値を全て表示する
※追記
例えばこんな感じでしょうか。デバッグしていないので動くかどうかは分かりません。参考程度としてください。
```java
ArrayList<String> errors = new ArrayList<String>();
if(nickName == null){
 errors.add(" * 氏名を入力してください。");
}
if(eMail == null){
 errors.add(" * メールアドレスを入力してください。");
}
if(pass == null){
 errors.add(" * パスワードを入力してください。");
}
if(userName == null){
 errors.add(" * ユーザー名を入力してください。");
}
if(errors.isEmpty == true){
 //エラー処理
 for(int i=0; i < errors.size(); i++) {
   System.out.println(errors.get(i));
 }
}
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る