使用<html:javascript formName="ss" method="check">表单验证 onsubmit="return check(this)"  这是生成了前台验证  可是弹出的是对话框 我要将对应的错误信息也添加到对应的表单项的后面 跟后台验证的效果一样 这问题该怎么做。

解决方案 »

  1.   

    <html:javascript formName="ss" method="check"> <span id="error" color=red></span>
    onsubmit="return check(this)"  
    这里有个check函数,提交的时候要用ajax提交,否则不好实现
    function check(){
      ...//这里是与后台的ajax交互,代码你可以搜一下
    //ajax会返回一个错误,比如是var error
    document.getElementById("error").innerHtml=error;//这样就给错误显示后面的span中了
    }
      

  2.   

    提交的时候。使用Validator框架是对框架的返回错误信息进行处理0.
    你 可以 具体一点吗。。在线等
      

  3.   

    使用 <html:javascript formName="ss" method="check"> 表单验证 onsubmit="return check(this)"  这是生成了前台验证  可是弹出的是对话框 <html:javascript formName="ss" method="check"> <span id="error" color=red></span>
    你把
    document.getElementById("error").innerHtml=“你原来在弹出的对话框中的信息放这儿,这名话是加在你原来的JS代码中的。”;
      

  4.   

    我弹出的内容是系统生成。跟这个没有关系。我怎么控制?可能是vaildator插件要设置。
      

  5.   

    这些javascript代码是struts的validator框架自带的,js代码可以到struts库文件下面找到,在commons-validator.jar中有一个org.apache.commons.validator.javascript包,里面全是js文件。因为要做成框架,所以struts不可能写成修改页面document里面的内容,这样可移植性太差,所以错误消息都是alert出来的。在validation.xml文件中对已经定义好的验证规则,struts没有提供可扩展的js文件,写自定义规则可以设置自己的js文件难。如果硬要在原基础上修改,并且使用<html:javascript>标签的话,可以试下修改validator-rules.xml文件。
    如:
         <validator name="integer"
                classname="org.apache.struts.validator.FieldChecks"
                   method="validateInteger"
             methodParams="java.lang.Object,
                           org.apache.commons.validator.ValidatorAction,
                           org.apache.commons.validator.Field,
                           org.apache.struts.action.ActionMessages,
                           org.apache.commons.validator.Validator,
                           javax.servlet.http.HttpServletRequest"
                  depends=""
                      msg="errors.integer"
           jsFunctionName="IntegerValidations"/>
    不过这样改意义就不大了,建议楼主自己写前台验证吧。