首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

在validation.xml中配置了requiredif,在客户端出错解决思路

2012-03-03 
在validation.xml中配置了requiredif,在客户端出错requiredif是条件check,为什么在IE端生成的javaScript代

在validation.xml中配置了requiredif,在客户端出错
requiredif是条件check,为什么在IE端生成的javaScript代码不是条件check呢?
validator-rules.xml   :
            <validator   name= "requiredif "
                                  classname= "org.apache.struts.validator.FieldChecks "
                                  method= "validateRequiredIf "
                                  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 "
                                  msg= "EM0010 "
                            jsFunctionName= "validateRequiredIf ">
                <javascript> <![CDATA[   function   validateRequiredIf(form)   {
                                                var   isValid   =   true;
                                                var   focusField   =   null;
                                                var   i   =   0;
                                                var   fields   =   new   Array();
                                                var   formName   =   form.getAttributeNode( "name ");  
 
            oRequired   =   eval( 'new   '   +     formName.value+   '_validateRequiredIf() ');

                                            for   (x   in   oRequired)   {
                                                        var   field   =   form[oRequired[x][0]];


                                                        if   (field.type   ==   'text ')   {
                                                    if   (field.value   ==   " "){
                                                              if   (i   ==   0)   {
                                                                                    focusField   =   field;
                                                                            }
                                                                    fields[i++]   =   oRequired[x][1];
                                                                    isValid   =   false;
                                                      }
                                                        }
                                              }
                                      if   (fields.length   >   0)   {
                                  alert(fields.join( '\n '));
                                  focusField.focus();
                                      }
                                  return   isValid;}   ]]>   </javascript>                                  
            </validator>


但是IE端生成的javaScript代码的check,是没有条件check的

清高手指点!!!!!!!!!

------解决方案--------------------


客户端生成的js:
function EM301Form_validateRequiredIf () {
this.a0 = new Array( "txt_maintain_remarks ", "请输入XXXXXXX ", new Function ( "varName ", "this.maxlength= '80 '; return this[varName]; "));
this.a1 = new Array( "txt_pay_term ", "请输入XXXXXXX。 ", new Function ( "varName ", "this.min= '24 '; this.maxlength= '2 '; this.max= '60 '; return this[varName]; "));
this.a2 = new Array( "txt_notes ", "请输入XXXXXXX。 ", new Function ( "varName ", "this.maxlength= '80 '; return this[varName]; "));
}

热点排行