您的位置:首页 > 编程语言 > Java开发

struts Validator框架 日期验证所遇问题

2009-12-13 22:20 309 查看
今天,参考张孝祥的validator 方面的视频,简单了对struts validator 入门了下。
在对日期验证时,遇到了个问题,在上网搜索了一些方案,也没从根本上解决。

内容是这样的.

validator.xml 内容如下:

..........
<field property="birthday" depends="date">
<arg key="input.birthday" position="0"/>
<var>
<var-name>datePatternStrict</var-name>
<var-value>yyyy-MM-dd</var-value>
</var>
</field>
</form>

.......

然后验证表单时候,required约束能够正常进行对表单的约束,但是对于date约束,一旦在表单提交的字符串不为MM/dd/yyyy类型时候,不是在jsp页面显示错误信息,而是在console抛出异常,并且页面什么都不显示。
抛出的异常如下:
18:47:49,654 WARN GenericTypeValidator:222 - a
java.text.ParseException: Unparseable date: "a"
at java.text.DateFormat.parse(DateFormat.java:335)
at org.apache.commons.validator.GenericTypeValidator.formatDate(GenericTypeValidator.java:213)
at org.apache.struts.validator.FieldChecks.validateDate(FieldChecks.java:546)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.commons.validator.ValidatorAction.executeValidationMethod(ValidatorAction.java:567)
at org.apache.commons.validator.Field.validateForRule(Field.java:827)
at org.apache.commons.validator.Field.validate(Field.java:906)
at org.apache.commons.validator.Form.validate(Form.java:174)

问:这是怎么回事??怎么解决?

解决步骤:
将struts validator框架提供的 datePattern 修改为datePatternStrict.也没有解决问题。

问题搁浅了,希望有兴趣的朋友、或者高手帮忙 看看。本文出自 “简单” 博客,请务必保留此出处http://dba10g.blog.51cto.com/764602/243025
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: