使用 DateBox 小部件进行完整日期值验证的最佳方法是什么?
以下只是防止像“ 1.1. ”这样的不完整输入,但允许例如:“ 333.333.333 ”
final DateTimeFormat format = DateTimeFormat.getFormat("dd.MM.yyyy");
dateBox.setFormat(new DefaultFormat(format));
有什么建议么?
使用 DateBox 小部件进行完整日期值验证的最佳方法是什么?
以下只是防止像“ 1.1. ”这样的不完整输入,但允许例如:“ 333.333.333 ”
final DateTimeFormat format = DateTimeFormat.getFormat("dd.MM.yyyy");
dateBox.setFormat(new DefaultFormat(format));
有什么建议么?
像这样的东西:
try {
Date date = DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).parseStrict(value);
// Do something with date
} catch (IllegalArgumentException e) {
// Show error message
}
1/1/2013
显然,您可以使用不同的格式,或者如果您允许用户自由输入日期以及Jan 1, 2013
,January 1, 2013
等,您可以尝试逐个解析所有格式。