昨天弄了一宿,就是由于这个关于validations.xml的自动校验,感受是挺简单的东西,但是却由于一个不显眼的地方耽误了我不少时间。 eclipse
代码实例:写了一个由myeclipse6.0.1自带的struts实例,在struts-config.xml文件中加入了<plug-in>自动校验标签,以实现validation的自动校验功能。
而后在WEB-INF下建立了一个validations.xml文件,加入了如下代码: ui
<form-validation> <formset> <form name="loginForm"> <field property="userName" depends="required"> <arg key="loginForm.userName"/> </field> </form> </formset> </form-validation>而后在相应的properties文件中加入了 key的中文提示,部署运行,用户名不填时,发现怎么也不走这个验证,直接就进入了成功页面。最后,通过了多个小时的排错,发现缘由出在FormBean 中,在strtus向导界面创建时,它的默认是钩选上validate和reset方法的,如图:
若是FromBean中有validate方法,则myeclipse是自动认为采用的是手工校验,而不是自动校验,所以不会去调用自动校验的<plug-in>标签。在使用自动校验时应把validate方法钩去,或在FormBean中删除此方法既可。
spa