我有一个连接到jQueryUI DatePicker日历的日期字段。
此DatePicker具有最小和最大日期,但用户仍可在文本字段中键入此范围之外的日期。我有服务器端验证来捕获这些情况,这些情况会向用户返回错误消息并阻止它们前进。
我的问题是,当表单在错误输入后再次加载,并尝试显示已输入的数据时,DatePicker会将无效日期替换为最接近的有效日期。
例如,在最小日期之前输入日期会返回带有错误的表单,并在字段中输入最小日期。
有没有办法阻止日期选择器更改此值?
答案 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) );
}
});
这可以帮到你很多