Jquery Validity.valid IE 8 错误

Jquery Validity.valid error in IE 8

Validity.valid 为 null 或不是对象 - 使用 Internet Explorer 8

时遇到此问题

这是我的部分代码:

allNextBtn.click(function(){
  var curStep = $(this).closest(".setup-content_cli"),
      curStepBtn = curStep.attr("id"),
      nextStepWizard = $('div.setup-panel_cli div a[href="#' + curStepBtn + '"]').parent().next().children("a"),
      curInputs = curStep.find("input[type='text'],input[type='email'],input[type='url'],textarea, email,select,select[readonly]"),
      isValid = true;

  $(".form-group").removeClass("has-error");
  for(var i=0; i<curInputs.length; i++){
      if (!curInputs[i].validity.valid){
        isValid = false;
        $(curInputs[i]).closest(".form-group").addClass("has-error");
        $("#"+$(curInputs[i]).attr('id')+"ErrorCLI").show("fast");
        //$(curInputs[0]).closest(".form-group").focus();
      }
      else{
        $("#"+$(curInputs[i]).attr('id')+"ErrorCLI").hide("fast");
      }
  }

  if (isValid)
      nextStepWizard.removeAttr('disabled').trigger('click');
});

我想我找到了自己的答案,以防万一其他人遇到这个问题我会 post 我自己的解决方案:

改变 如果 (!curInputs[i].validity.valid) 到 如果 (curInputs[i].hasAttribute('required') && curInputs[i].value === '' )

这是正确的,因为我只是在检查必填字段。