GWT中的日期验证

时间:2013-08-02 09:54:16

标签: validation date gwt datebox

我想在DateBox中验证日期。我是这样做的:

private DateBox addContDateCreateDateBox = new DateBox();
private DateTimeFormat ft_big = DateTimeFormat.getFormat("dd.MM.yyyy");
addContDateCreateDateBox.setFormat(new DateBox.DefaultFormat(ft_big));
addContDateCreateDateBox.setValue(new Date());
Boolean fl = true;
if (addContDateCreateDateBox.getValue() != null) {
  try {                     
   ft_big.parseStrict(addContDateCreateDateBox.getValue().toString());
  } catch (IllegalArgumentException ex) {
   fl = false;              
  }
} else  fl = false;         

但即使我在DateBox中输入正确的日期,我也会收到fl == false。我不知道为什么但是这个addContDateCreateDateBox.getValue()。toString()对'02 .08.2013'的回复 'Fri Aug 02 00:00:00 EEST 2013'。

请帮助。

1 个答案:

答案 0 :(得分:1)

DateTimeFormat.parseStrict()

需要一个String和

addContDateCreateDateBox.getValue().toString() 

返回'Fri Aug 02 00:00:00 EEST 2013',根据您指定的格式(“dd.MM.yyyy”)无法解析

private DateTimeFormat ft_big = DateTimeFormat.getFormat("dd.MM.yyyy");

改为使用

ft_big.format(addContDateCreateDateBox.getValue()); 

格式化

返回的日期
addContDateCreateDateBox.getValue() 

日期格式正确后,您可以使用parseStrict()方法强制执行格式。