这个问题与其他问题非常相似,但并不完全相似 - 所以请仔细阅读。
我在生日等字段上使用 datePicker - 我将范围限制为仅过去的日期。我需要验证日期。输入不是只读的,我不希望它是。
$(element).datepicker({
dateFormat: dateFormat,
changeMonth: true,
changeYear: true,
yearRange: "1900:2050",
maxDate: new Date,
constrainInput: "true",
currentText:"Today",
showButtonPanel: true,
onClose: function (dateText, inst){
dPickerDate=$('#'+this.id).datepicker("getDate");
pDate=$.datepicker.formatDate(dateFormat, dPickerDate);
if(dateText!=pDate)
{
$('#errorFor'+this.id).removeClass("hidden");
}
else
{
//do some calculations to save the date... for internal purposes
}
});
这个想法是我检查输入的日期是否可以在日期选择器中选择 - 否则意味着它无效。可用于验证目的。
问题是 datePicker 允许我输入不在日期范围内的日期。在 fireBug 中调试时,我可以看到 datePicker 的值实际上是无效的未来日期,即使它没有显示在所选的 datePicker 中。
有任何想法吗?提前致谢 :)