【发布时间】:2014-04-21 09:57:29
【问题描述】:
我正在使用Struts2 JQuery datepicker tag。
但我无法验证它。在我的validation.xml 文件中,我将其视为date,但它删除了时间部分。有什么解决办法吗?我应该使用正则表达式来验证我的日期时间吗?
JSP 表单
代码与我之前的问题Struts2 jquery datepicker passing 0 or null value to action class中的代码有些相同
动作类:
public Date getDateAndTimeOfOccurance() {
return dateAndTimeOfOccurance;
}
public void setDateAndTimeOfOccurance(Date dateAndTimeOfOccurance) {
System.out.println(dateAndTimeOfOccurance);
this.dateAndTimeOfOccurance = dateAndTimeOfOccurance;
}
public String execute() throws Exception {
.
.
ps.setTimestamp(13, new java.sql.Timestamp(getDateAndTimeOfOccurance().getTime()));
/* i have modified my database because the time values in java.sql.Date have been depreciated */
.
.
}
是否有任何现有的解决方案?我应该使用regex 验证器吗?
更新
对于实验,我删除了验证部分,但在操作中收到的时间仍然是00:00:00。
更新 2
我找到了一种方法来解决这个问题,方法是收到这个问题Struts2 JQuery Datepicker not working properly 的 cmets 中提到的内容。我也删除了validation.xml。现在我正在使用注释。现在的问题是如何验证它?应该是regex 还是有一种将字符串验证为日期的struts 验证方式(比如使用validate() 方法,我不确定这是一个好习惯)。
更新代码(更新 2)
动作类
@RequiredStringValidator(message = "Please enter the date and time of occurance")
public String getDateAndTimeOfOccurance() {
return dateAndTimeOfOccurance;
}
public void setDateAndTimeOfOccurance(String dateAndTimeOfOccurance) {
this.dateAndTimeOfOccurance = dateAndTimeOfOccurance;
}
public void execute(){
....
Date d = null;
try {
d = new SimpleDateFormat("dd-MMM-yyyy hh:mm", Locale.getDefault()).parse(getDateAndTimeOfOccurance());
} catch (java.text.ParseException e) {
e.printStackTrace();
addFieldError(dateAndTimeOfOccurance, "Please enter a valid date");
return INPUT;
}
Timestamp t = new java.sql.Timestamp(d.getTime());
ps.setTimestamp(13, t);
...
}
【问题讨论】:
-
你读过那个问题的 cmets 吗?
-
@AleksandrM 谢谢。但我无法验证它。我应该使用正则表达式还是日期?
-
@maxx777 你已经问过同样的问题stackoverflow.com/q/22836503/573032。如果你可以更新它,这反映了最后一个状态并以某种可读的格式提出问题,顺便说一句,你不喜欢你接受的答案吗?
-
@RomanC 我创建了一个新帖子,因为这次我遇到了另一个问题。之前是因为命名约定,这次是因为插件本身的转换问题。如果它不道德,那么我应该删除其中一个帖子。由于我在社区的帮助下解决了这两个问题,请告诉我是否应该删除该帖子。谢谢先生
-
@maxx777 如果您有新问题,请仅发布相关代码,不要复制它,只需参考上一个问题即可。因此,编辑问题并删除重复代码,突出显示问题并解释它与前一个问题的不同之处。然后发布一个答案,如果您解决了问题,请接受它。
标签: java jquery validation struts2 datepicker