ユーザーが日付を間違った形式で入力すると、NULLポインタ例外が発生します。文字列を日付に変換 - 日付検証
Date stringToDate(String dateString) {
Date returnDate = null;
if (dateString!= null && dateString.length() > 0 && isValidDate(dateString)) {
returnDate = dateFormat.parse(dateStr);
}
return returnDate;
}
と
boolean isValidDate(String date) {
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
Pattern datePattern = Pattern.compile("[0-9]{2}/[0-9]{2}/[0-9]{4}");
Matcher datePatternMatch = datePattern.matcher(date);
boolean datePatternMatchfound = datePatternMatch.matches();
if(date==null){
return false;
} else if(date!=null && date.length()>0){
if(datePatternMatchfound){
sdf.setLenient(false);
sdf.parse(date.trim());
}
return true;
} else {
return false;
}
}
を文字列を日付に変換する
方法私は....
1を知っているだけで好奇心)の日付のための有効なパターンがどうあるべきか?
2)ユーザーが誤った日付を入力した場合、stringToDateメソッドは確実に失敗し、NULLポインタ例外をスローします。それを避ける方法は?
本当にありがとうございます。
あなたの質問履歴に基づいてJSFを使用しています。 JSF入力フィールドにこれを実際に使用している場合、これは完全に間違っています。 – BalusC