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的清高手指点!!!!!!!!!

解决方案 »

  1.   

    客户端生成的js:   
     function EM301Form_validateRequiredIf () { 
         this.a0 = new Array("txt_maintain_res", "请输入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];"));
        }