如果要使用验证框架的话,首先form 里的validate()方法要删掉,因为有validate()方法的话验证框架就不起作用,这两个只能选其一。其次struts-config.xml里相关的action的validate属性必须为true,表示与action关联的form启用验证。
<action
attribute="registerForm"
input="/register.jsp"
name="registerForm"
path="/register"
scope="request"
type="com.kainecy.struts.action.RegisterAction" 
validate="true"/>当然还要在struts里配置验证框架的插件,在struts-config.xml最后加上
  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
  </plug-in>在jsp页面中用<html:errors/>显示全部出错信息,或者使用<html:errors property="username"/>等分别显示出错信息。

解决方案 »

  1.   

    验证有三种,form里的validate()属于浅层验证,action里写的验证叫逻辑验证,另外还有个框架验证,不要把几个验证搞混了。你用了验证框架,浅层验证和逻辑验证就不需要了,这样验证逻辑都集中在validation.xml里了。
      

  2.   

    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
    </plug-in>
    *******************没有这个=。=
    我记得我弄了这个=。=可能是因为:中途eclipse强行关闭了一次,可能导致未保存配置文件,丢失了。内存不足阿5555谢谢啦~~分够吧~~哈