我在使用validator框架对form进行验证时,发现能验证。但是返回input页面后却没有输出错误信息。请高手指点:
validation.xml
<!DOCTYPE form-validation PUBLIC
          "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
          "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation>
<formset>
<form name="newForm">
<field property="userName" depends="required,maxlength,email">
<arg0 key="name" />
<arg1 name="maxlength" key="${var:maxlength}"
resource="false" />
<var>
<var-name>maxlength</var-name>
<var-value>10</var-value>
</var>
</field>
</form>
</formset>
</form-validation>资源文件:
# Resources for parameter 'com.yourcompany.struts.ApplicationResources'
# Project Test1
userName.error=UserName is wrong!
passWord.error=PassWord is wrong!
addUser.success=Add user is success!
addUser.false=Add user is false!
name=UserName
userName={0}'s length can not > {1}
页面使用的是<html:errors />来输出!
还有请问下:
<arg0 key="name" />
<arg1 name="maxlength" key="${var:maxlength}"
resource="false" />到底是什么意思啊?
     那个key=“name” 是不是要进资源文件读取啊?

解决方案 »

  1.   

    输出页面:
    <body>
    <center>
    <html:errors /><br />
    <html:form action="/new">
    userName : <html:text property="userName" />
    <html:errors property="userName" />
    <br />
    passWord : <html:password property="passWord" />
    <html:errors property="passWord" />
    <br />
    <html:submit />
    <html:cancel />
    </html:form>
    </center>
    </body>
      

  2.   

    根本进不到action里去啊!我故意输错的,就是为了看验证后的效果!能够进行验证,但是没有   在没有通过时的输出!通过了验证就有正确的输出!
      

  3.   

    两行<html:errors property="passWord" />去掉直接写个<html:errors/>试试
      

  4.   

    你在form中有没有重写validate方法呢?
    重写了的话有没有将资源文件中的错误信息放到ActionErrors中呢?
      

  5.   

    你那个写法就是错的
    arg0 表示资源文件中对于位子要替换的值
    这个是按数组来取的
    第一个位置自然是0