【问题标题】:Jquery bassistance: validate that end date is after start dateJquery bassistance:验证结束日期在开始日期之后
【发布时间】:2010-01-12 21:00:35
【问题描述】:

我正在使用 jquery bassistance 验证,需要验证开始日期是否在结束日期之后。我想知道是否有人知道此功能是否存在,是否可以添加规则来执行此操作,或者是否必须添加自定义检查。如果表单有效,我很难找到与我的代码一起使用的任何示例,这些示例将转发到另一个函数。 (粘贴在下面)

$("#hotels").validate({
    rules: {
        checkinDate: {
            date: true
        },
        checkoutDate: {
            date: true
        }
    }
});


$("#hotels input.submit").click(function() {
  var isValid = $("#hotels").valid();
  if (isValid == true) {
      } else {
          hComp();
          return false;
      }
  } else {
      return false;
  }
});

我在另一个示例中看到了这一点,但不确定如何使用它。

var startDate = new Date($('#startDate').val());
var endDate = new Date($('#endDate').val());

if (startDate < endDate){
// Do something
}

提前感谢您的帮助。

【问题讨论】:

    标签: jquery-validate date-range


    【解决方案1】:

    该示例看起来正是您所需要的。看看here

    借用该 jquery 示例,假设您有以下 HTML:

      <input id="startDate" value="Jan 12, 2009" />
      <input id="endDate" value="Jan 12, 2010" />
    

    然后,此 JavaScript 代码应显示警报“开始日期早于结束日期!” (假设值没有被修改):

    var startDate = new Date($('#startDate').val());
    var endDate = new Date($('#endDate').val());
    
    if (startDate < endDate){
        alert("Start date is before end date!");
    }
    

    【讨论】:

    • 谢谢。这澄清了事情。我的日期格式是 mm/dd/yy。我认为这就是问题所在。
    【解决方案2】:

    我最终在验证之前解决了这个问题,无论如何这可能是一个更好的主意。这是使用 jquery ui datepicker 的解决方案。然后我可以使用相同的逻辑进行最终的验证检查。

    $('input').filter('.datepicker').datepicker({
    

    beforeShow:自定义范围, showOn: '两者', buttonImage: contextPath + '/assets/images/icon-calendar.gif', buttonImageOnly:真, buttonText: '显示日期选择器' });

    函数 customRange(a) {
    var b = new Date();
    var c = new Date(b.getFullYear(), b.getMonth(), b.getDate());
    if (a.id == 'checkoutDate') {
    if ($('#checkinDate').datepicker('getDate') != null) {
    c = $('#checkinDate').datepicker('getDate');
    }
    }
    返回 {
    最小日期:c
    }
    }

    【讨论】:

      猜你喜欢
      • 2022-01-06
      • 2018-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-29
      • 1970-01-01
      • 2018-12-31
      • 1970-01-01
      相关资源
      最近更新 更多