在我的项目中,我有一个标准 DateField格式为“dd MMM yyyy”。我使用 setDateFormat("dd MMM yyyy") 来设置这种格式。但现在用户也想输入“MM/dd/yyyy”、“MM-dd-yyyy”和“MM dd yyyy”格式,可显示的日期仍然必须是“dd MMM yyyy”。
现在,当我在日期字段中输入“31/01/2016”时 setDateFormat("dd MMM yyyy")我收到“日期格式无法识别”错误。
我的问题是如何使日期字段接受多个日期格式输入(不使用日历选择器)。
非常感谢任何帮助。感谢您阅读这篇文章!!!
最佳答案
您可以重写方法handleUnparsableDateString
:
public class MyDateField extends DateField {
@Override
protected Date handleUnparsableDateString(String dateString) throws Converter.ConversionException {
return super.handleUnparsableDateString(dateString);
}
}
当 DateField
无法解析输入时调用该方法。您可以解析方法中的输入并返回正确的 Date
实例。
关于date - Vaadin - PopupDateField 不接受多种输入日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37017803/