关于struts的validations.xml自动校验时应注意的问题

昨天弄了一宿,就是因为这个关于validations.xml的自动校验,感觉是挺简单的东西,可是却因为一个不显眼的地方耽误了我很多时间。

代码实例:写了一个由myeclipse6.0.1自带的struts实例,在struts-config.xml文件中加入了<plug-in>自动校验标签,以实现validation的自动校验功能。
然后在WEB-INF下创建了一个validations.xml文件,加入了以下代码


<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方法的,如图:

关于struts的validations.xml自动校验时应注意的问题

如果FromBean中有validate方法,则myeclipse是自动认为采用的是手工校验,而不是自动校验,因此不会去调用自动校验的<plug-in>标签。在使用自动校验时应把validate方法钩去,或在FormBean中删除此方法既可。

你可能感兴趣的:(关于struts的validations.xml自动校验时应注意的问题)