jsp中有没有:
<html:javascript formName="registration"/>

<html:form action="registration" onsubmit="return validateRegistrationForm(this);">

解决方案 »

  1.   

    to lj0425没有你说的那些,我去加上试试。
      

  2.   

    学习,偶现在逻辑验证全部在jsp中做的。
      

  3.   

    如果你没有写server端的validator类和方法,validator-rule.xml就用struts自带的就可以了。不然也回出错。
      

  4.   

    在struts-config.xml中<action-mappings>...</action-mappings>的 <action 〉的属性中是否加了validate="true",如果是validate="false",则不会调用validator()方法
      

  5.   

    to:lj0425
       <html:form action="registration" onsubmit="return validateRegistrationForm(this);">
    中的 validateRegistrationForm(this);是什么意思,在什么地方定义的。
      

  6.   

    to stonecsdn:
        当然设置了 validate="true",可是还是不行。
    to lj0425:
         我把 <html:javascript formName="registration"/>这个代码加上了 其中formName=“loginAction” loginAction是我的Action类。为什么浏览器把我的javascript代码全在页面中显示出来了。
      

  7.   

    我这种做法是不是属于客户端验证,但是我的javascript都是写在validator-rute.xml中的。
      

  8.   

    validateRegistrationForm(this);是struts生成客户端验证的javascript入口程序。名称规则是:validateFormName(this);它不用定义,直接使用就可以了。
    既然loginAction是你的Action类那么应该是:
    validateLoginAction(this);-----浏览器把我的javascript代码全在页面中显示出来了。-----
    针对这个问题通常是你的validate.xml没有配置好,启动tomcat后,别急着打开你的浏览器,先看看控制台有没有抱错?修改你的配置文件:validate.xml,validator-rule.xml,web.xml直到控制台没有错误的时候再调试页面。
      

  9.   

    对不起
    ---〉既然loginAction是你的Action类那么应该是:
    validateLoginAction(this);应该是:
    既然loginAction是你的Action类那么其对应的ActionForm名称在struts-config中假设为loginActionForm那么应该是:
    validateLoginActionForm(this);
      

  10.   

    同意: stonecsdn(东东) 的说法
    我就是那么做的
    不是所有的判断都放到
    formbean的ActionErrors validate这个方法中
    我只是在这里判断是否为空
    而已
      

  11.   

    <html:form action="/ordermeal/admin/smCompanyEditAction.do" onsubmit="return validateSmCompanyForm(this);" focus="companyName">
    .........
    </html:form>
    <html:javascript formName="smCompanyForm" />
      

  12.   

    另外validator-rute.xml和validation.xml中各个标签都是什么意思。如何加入自己写的javascript脚本验证方法