date - Vaadin - PopupDateField 不接受多种输入日期格式

标签 date datetime vaadin vaadin7 datefield

在我的项目中,我有一个标准 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/

相关文章:

excel - 计算多个日期范围内的唯一日期

c# - 格式异常:String was not recognized as a valid DateTime

MySQL:选择最后一个完整的 5 分钟间隔

java - XML 的分层 Vaadin 树 (MSDL)

vaadin - 如何使用 CSS 设置表单组件的样式?

javascript - 如何将具有旧日期的对象保留在我的数组之外

mysql - 检查日期字段是否是 MySQL 5 中间隔的倍数

返回 1969 年 12 月 31 日的 Javascript Date 对象

python - 如何使用 python pyodbc 模块更新 MSSQL 中的日期时间字段

java - vaadin 8 FilesystemContainer 替代方案