问题描述
<fieldname="birthday"><field-validatortype="date"><paramname="min">2000-01-01</param><paramname="max">2009-12-12</param><message>出生日期必须在${min}-${max}之间</message></field-validator></field>类似上面的校验框架在页面中的birthday是<s:textfield对于date类型的装换重新给定了DateConverter(网上拷贝的)类来进行转换。在文本框中输入1988-01-01但最后总是提示CaughtOgnlExceptionwhilesettingproperty'max'ontype'com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator'.java.lang.NoSuchMethodException:setMax(java.lang.String)等信息真是搞不清楚了。。各位高手帮个忙啊~~
解决方案
解决方案二:
<message>出生日期必须在${min}-${max}之间</message>这个貌似是校验是字符串长度的,并不是校验日期的吧
解决方案三:
你的数据类型没转好setMax(java.lang.String)没有这个方法,只有setMax(java.util.Date),所以你一定要先成功转为Date型
解决方案四:
你的action类的birthday的类型是String吧,用日期校验器应该是Date类型
解决方案五:
loginSuccess
解决方案六:
好像默认先进行Date类型校验,成功后才进行日期范围校验
解决方案七:
画面输入日期格式:yyyy/MM/dd,你尝试一下。