解决struts2中validation.xml配置无效的问题

原文:http://blog.csdn.net/itbuluoge/article/details/40483509

解决struts2中validation.xml配置无效的问题,我使用了xml的验证,却始终发现无法生效,后面发现才是xml的头文件的格式问题,修改了一下就好了。

 

<!DOCTYPE validators PUBLIC
        "-//Apache Struts//XWork Validator 1.0.2//EN"
        "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
  <field name="username">
      <field-validator type="requiredstring">
          <message>You must enter a value for bar.</message>
      </field-validator>
  </field>
</validators>

并且在我的系统中,如果dtd验证失败,系统无法登录。因为使用了同一个UserAction

原文

http://www.xuebuyuan.com/2102504.html

1. 命名是否符合约定: 
<actionClass>-validation.xml 
<actionClass>-<actionAlias>-validation.xml 
2.   validation.xml的标签是否正确,比如是否关闭所有标签(或者有错误的标签),是否多一个关闭标签等。注意:这方面错误没有任何提示, 只是验证不起作用。 
3.   fieldName 命名是否和jsp以及 action中的属性一致 如: 
       action中有userName 属性, 
       jsp 中有标签:<s:textfield name="userName"/> 
       validation.xml中需有:<field name="userName">...</field> 
       上述的三个userName一定要一致。 
4.检查是否在同一个field里面配置了重复的参数,重复的参数也可能会使你的信息显示不出来 
5.要记得验证框架所产生的错误信息被是写入到了fielderror里面去了,所以在需要显示错误信息的页面要用 
<s:fielderror cssStyle="FONT-WEIGHT: bold;color:yellow;font-size:14px;"></s:fielderror>标签 

不能用<s:actionerror/> 

6.LoginAction-validation.xml文件必须与Action类放在相同的目录下(以后一定要注意了!)

7.在struts.xml文件中的<action>标签中,必须包含<result name="input">和<result name="success"
>,否则会报找不到result的错误。 validation.xml校验不通过后,会默认返回  input所在 页面

8.最主要的一个可能:如果你的Action类没有继承ActionSupport类,就不会进行页面流程的自动跳转。

posted @ 2015-04-08 08:21  letmedown  阅读(663)  评论(0)    收藏  举报