JQuery UI Datepicker - 关于minDate选项限制文本字段的输入?

时间:2010-11-16 22:05:14

标签: javascript jquery-ui datepicker

$('#Date_Of_Reservation').datepicker({showAnim: 'fadeIn',minDate: twoBussinessDaysToDays(),constrainInput: true});

我的功能正常。图形日历也可以正常工作 - 使不可选择的日期变灰。问题是验证。如果用户在文本字段中手动键入日期,则minDate字段正在工作,他们可以在minDate之前输入日期。没有关于minDate的验证。这个问题有优雅的解决方案吗?

编辑:当我在文本字段中输入内容后按Enter键时,它确实很有用。但是当我选中或点击其他地方时,不会触发验证。

1 个答案:

答案 0 :(得分:1)

  1. 使用validator插件确保有效输入
  2. 添加custom date范围方法
  3. 您的案例中的方法是:

    $.validator.addMethod("dateRange", function(value, element) {
        // put your own logic here something like this
        return new Date(value) > twoBussinessDaysToDays();
    },
    "Please enter a valid date"
    );
    

    告诉jquery验证表单:

    $('#myForm').validate({
        rules: {
            Date_Of_Reservation: { dateRange: true }
        }
    });