パラメーターに対して全角カタカナと半角英数字ならtrueにしたいができない
解決したいこと
入力されたパラメーターに対して、全角カタカナと半角英数字チェックを行いたい
カタカナで入力されたらチェックに引っかからず処理をおえる
半角英数字で入力されたらチェックに引っかからず処理をおえる
このようにしたいです。
発生している問題・エラー
パラメーターを全角カタカナでチェックしそこでtrueなら処理を終わらせたいが、次の条件分岐半角英数字チェックでひっかかってしまう。
error.java
String str[] = {code,name,price};
String error = "";
for(int i = 0; i < str.length; i++){
try {
//nullチェック
if (!(str[i].isEmpty())) {
//全角カタカナチェック
if (str[i].matches("^[ァ-ヶー]*$")) {
;
}else{
switch (i) {
case 0:
String code_error = "商品コードをカタカナ全角で入力してください";
request.setAttribute("code_error", code_error);
break;
case 1:
String name_error = "商品名をカタカナ全角で入力してください";
request.setAttribute("name_error", name_error);
break;
case 2:
String price_error = "単価をカタカナ全角で入力してください";
request.setAttribute("price_error", price_error);
break;
}
throw new Exception();
}
if (str[i].matches("^[A-Za-z0-9]+$")) {
;
}else{
switch (i) {
case 0:
String code_error = "商品コードを半角英数字で入力してください";
request.setAttribute("code_error", code_error);
break;
case 1:
String name_error = "商品名を半角英数字で入力してください";
request.setAttribute("name_error", name_error);
break;
case 2:
String price_error = "単価を半角英数字で入力してください";
request.setAttribute("price_error", price_error);
break;
}
throw new Exception();
}
}else{
switch (i) {
case 0:
String code_error = "商品コードを入力してください";
request.setAttribute("code_error", code_error);
break;
case 1:
String name_error = "商品名を入力してください";
request.setAttribute("name_error", name_error);
break;
case 2:
String price_error = "単価を入力してください";
request.setAttribute("price_error", price_error);
break;
}
throw new NullPointerException();
}
}catch (NullPointerException e) {
}catch (Exception e) {
}
}
RequestDispatcher dispatch = request.getRequestDispatcher(URL);
dispatch.forward(request, response);
}
上記のコードからどうにかして実現させたいです。
宜しくお願い致します。
0