JQueryUI DatePicker用minDate替换无效输入

时间:2014-02-03 22:26:54

标签: javascript jquery jquery-ui datepicker jquery-ui-datepicker

我有一个连接到jQueryUI DatePicker日历的日期字段。

此DatePicker具有最小和最大日期,但用户仍可在文本字段中键入此范围之外的日期。我有服务器端验证来捕获这些情况,这些情况会向用户返回错误消息并阻止它们前进。

我的问题是,当表单在错误输入后再次加载,并尝试显示已输入的数据时,DatePicker会将无效日期替换为最接近的有效日期。

例如,在最小日期之前输入日期会返回带有错误的表单,并在字段中输入最小日期。

有没有办法阻止日期选择器更改此值?

1 个答案:

答案 0 :(得分:3)


Datepicker永远不接受其最小/最大日期范围之外的任何日期。

所以我有一个解决你的问题的方法 在日期选择器中进行一些更改,如下所示:

1)删除minDate&的maxDate
2)在datepicker字段中设置错误的日期
3)在beforeShow函数中设置minDate / maxDate

例如:

$('#your_id').datepicker({
     dateFormat: 'dd-mm-yy',
     beforeShow: function(){
       $(this).datepicker("option", "minDate", new Date(07-02-2014) );
       $(this).datepicker("option", "maxDate", new Date(09-02-2014) );
     }
});

这可以帮到你很多