关于Struts2的日期值min和max验证问题
zhangjihao
2008-11-04
我的项目有一个技术需求,就是注册用户必须是成年人,因此生日的验证参数max应该是今日减16年以前的日期方可注册,这意味着max的值是动态的,我通过OGNL给一个${sixteenYears}
<!-- 验证字符串为日期类型 --> <field name="user.birthday"> <field-validator type="date"> <param name="max">${sixteenYears}</param> <message>必须是能承担法律责任的年龄(未满16岁)</message> </field-validator> </field> 然后我在对应的Action中做了setSixteenYears()和getSixteenYears(),并确定get出来的值是16年前的日期,我将get方法返回值分别做了日期型和字符型来测试,均没有成功。不知为什么,是不是不能用这种方式为max参数赋值?大家是怎么解决的?Struts2项目中xml里如何接受动态赋值?请大家帮忙! |
|
kyo100900
2008-11-05
<validators> <validator type="expression"> <param name="expression"><![CDATA[date1.after(date2)]]></param> <message>必须是能承担法律责任的年龄(未满16岁)</message> </validator> </vaidators> date1, date2 为action中某两个日期属性, 在表单提交的时候,肯定事先可以弄好。 错误信息用: <ww:actionmessage/> 显示。 |