在学习validation的时候,碰到一个很见鬼的问题。
我在写XXX-XXX-validation.xml的时候,为了写注释,让自己明白一点.....
暂停....喝酒....
第二天,酒醒了。
说到写了注释,然后有<!-- -->包括着我自己的注释。里面还有“--”两个减号连起来的。问题就出来了,运行的时候,总是没有进去validation.xml验证。但是其他地方是一样的,只是少了注释,就能进去验证了。
检查了一个晚上,才发现是注释里面不能有"--"的符号,至少有一个空格来隔开也行。
晕死了,Validation怎么会这样呢?
可恶。
今天又碰到了一个问题:
在验证失败的时候,jsp上的Form范围内会有message提示,class="errorMessage",但是,复合对象的错误信息上无法显示,除非要用<s:fielderror>,才会集中显示所有的错误。真的是这样的么?
debug信息:
Object Property Name Property Value
com.app.action.ProjectAction texts null
message
actionErrors []
errors {message=[Message不能为空.], vo.username=[Vo的错误信息:用户名没有输入.]}
fieldErrors {message=[Message不能为空.], vo.username=[Vo的错误信息:用户名没有输入.]}
errorMessages []
container There is no read method for container
locale zh_CN
actionMessages []
servletRequest There is no read method for servletRequest
projectActionService com.app.service.impl.ProjectActionService@1f0c2fd
vo com.app.pojo.AslProjects@e58e3d
com.opensymphony.xwork2.DefaultTextProvider texts null
对应“Message不能为空.], vo.username=[Vo的错误信息:用户名没有输入.”,“Message不能为空.]”能显示在Form的textfield附近,但是,“vo.username=[Vo的错误信息:用户名没有输入.”却无法显示。只能显示在<s:fielderror>里面。
待考察...