我们尝试验证JavaFX的日期选择器。因此,我们使用了以下代码:
if (fromDatePicker.getValue() == null) {
sb.append("No valid from date!\n");
} else {
System.out.println(fromDatePicker.getValue().toString());
if (!DateUtil
.validEnglishDate(fromDatePicker.getValue().toString())) {
sb.append("No valid from date. Use the format yyyy-MM-dd.\n");
}
}
目前来看,使用日期选择器不可能得到无效的日期,因为所有无效的日期都会被更改为起始值。 因此,我们问自己:是否可能在JavaFX日期选择器中得到一个无效的日期?
***** 编辑 *****
例如,我们有以下日期选择器: DatePicker [2015-05-12] 现在我们在日期选择器中输入"fjdfk",那么现在的日期选择器是这样的: DatePicker [fjdfk] 在保存数据时,日期选择器会自动更改为:DatePicker [2015-05-12]
DatePicker.getValue()
将返回null
或一个实际的LocalDate
实例。如果它不是null
,toString()
会以特定的方式格式化它(javadoc告诉你格式)。如果需要,你可以使用DateTimeFormatter
以不同的格式来格式化结果。 - James_DDatePicker.getValue()
不会返回null
,而是返回先前的值。是否有任何方法可以拦截 DatePicker 的验证(可能是通过属性监听器)?我想向用户显示一条消息,例如“请输入有效日期”。 - giraffe.guru