<formset>        <!-- An example form -->
        <form name="userLoginForm">
            <field
                property="username"
                depends="required">
                    <arg0 key="user.name"/>
            </field>
            <field
                property="password"
                depends="required,mask">
                   <msg name="mask" key="errors.invalid.password"/>
                    <arg0  key="user.password"/>
                    <var>
                        <var-name>mask</var-name>
                        <var-value>^[0-9a-zA-Z]*$</var-value>
                    </var>
            </field>
        </form>    </formset>这是我对我的ActionForm定义的一个验证Validate
我在jsp页面是这么写的<html> 
<head>
<title>JSP for UserLoginForm form</title>
</head>
<body>
<center>
<html:form action="/userLogin.do" onsubmit="return ValidateUserLoginForm(this)">

name : <html:text property="name"/>
<html:errors property="name"/><br/>
password : <html:password property="password"/>
<html:errors property="password"/><br/>
<html:submit value="提交"/><html:reset value="重置"/>
</html:form>
<html:javascript formName="userLoginForm"/>
</center>
</body>
</html>怎么验证不起作用
即使表单数据为空  也转到相应的页面初学validate框架
多多指教

解决方案 »

  1.   

    你的ActionForm要继承ValidatorForm,
    你的struts-config中,需要添加Validator插件,同时form-bean的名称也要是userLoginForm,action配置也要设置validate=true
      

  2.   

    public class LoginActionForm extends ValidatorForm  <action name="LoginActionForm" path="/LoginAction" .....validate="true">
    struts-config.xml里面
    <message-resources parameter="ApplicationResources" />                          
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
          <set-property property="xxx" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
    </plug-in>
      

  3.   

    在jsp页面中加上了<html:javascript formName="userLoginForm" /> 没?,如果少了这句话的话也是不会生效的。
      

  4.   


    加上这句  就报错。。
    No form found under 'userLoginForm' in locale 'zh_CN'.  A form must be defined in the Commons Validator configuration when dynamicJavascript="true" is set.
      

  5.   

    <html:javascript formName="userLoginForm" dynamicJavascript="true" staticJavascript="false" />
      

  6.   

    我感觉 Validator 框架一点都不好用,还不如自己手写来得爽气一些。
      

  7.   

    页面代码 property的值时name
    和验证框架的里的username不相同name : <html:text property="name"/>
    <field property="username" ……
    这里的property值是你的属性名称 这里是name;<arg0 key="user.name"/>
    这里的key是你资源文件的key
      

  8.   

    我试了下 在ActionForm用Validate验证也是这种问题
      

  9.   


    <head><html:javascript formName="userLoginForm" /></haed>