validationEngine 两个日期比较大小校验问题,页面上两个日期 input1 input2,根据输入input1的日期,
来判读input2选择的日期的是否在input1之前或后
这个怎么做??

解决方案 »

  1.   


     function checkDate(){
       var startTime=document.getElementById("startTime").value; //获得系统日期的文本值
       var endTime=document.getElementById("endTime").value; //获得用户选择的日期文本值
       var aStart=startTime.split('-'); //转成成数组,分别为年,月,日,下同
       var aEnd=endTime.split('-');
       var startDate = aStart[0]+"/" + aStart[1]+ "/" + aStart[2];
       var endDate = aEnd[0] + "/" + aEnd[1] + "/" + aEnd[2];
       if (startDate > endDate) {
        $("#moneyMessage").html("<font color=red>开始日期必须小于结束日期</font>");
        return false;
       }
        return true;
      }
      

  2.   

    忘了 说明一下,我用的是,jquery.validationEngine.js ,用这个做效验
      

  3.   

    忘了 说明一下,我用的是,jquery.validationEngine.js ,用这个做效验
      

  4.   

    jquery.validationEngine.js支持自定义函数校验。在需要校验的日期文本框中增加class="validate[funcCall[validateDateOrder]]",其中validateDateOrder为你自己写的一个日期比较函数,若校验不符合,则返回一个字符串。
    js code:
     function validateDateOrder(field, rules, i, options) {
      if(结束时间<开始时间) {
      var errMsg = "结束时间应大于开始时间";
      return errMsg;
      }
     }
      

  5.   

    function compareDate(date1,date2){ //date1是否大于date2
    var year1 = date1.substring(0,date1.indexOf("-")); 
    var year2 = date2.substring(0,date2.indexOf("-")); 
    var month1 = date1.substring(date1.indexOf("-")+1,date1.lastIndexOf("-")); 
    var month2 = date2.substring(date2.indexOf("-")+1,date2.lastIndexOf("-")); 
    var day1 = date1.substring(date1.lastIndexOf("-")+1,date1.length); 
    var day2 = date2.substring(date2.lastIndexOf("-")+1,date2.length); 
    if( parseInt(year1) > parseInt(year2) ){
       return true; 
    }else if( parseInt(year1) < parseInt(year2) ){
       return false; 
    }else if( parseInt(month1) > parseInt(month2) ){
       return true; 
    }else if( parseInt(month1) < parseInt(month2) ){
       return false; 
    }else if( parseInt(day1) > parseInt(day2) ){
       return true; 
    } return false;
    }