當用戶輸入錯誤格式的日期時,出現空指針異常。將字符串轉換爲日期 - 日期驗證
方法將字符串轉換爲日期
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方法肯定會失敗並拋出空指針異常。如何避免這種情況?
任何幫助真的不勝感激。
你使用JSF。如果你確實將它用於JSF輸入字段,那麼你正在接近完全錯誤。 – BalusC