我在页面上有jQuery datepicker,需要允许手动输入日期,但还需要验证日期不超过一天.选择器控件已通过maxDate限制,但当手动输入日期时,他们可以提前一天输入日期.一个人(我)如何阻止它?这是我到目前为止:
$(".datepicker").attr("placeholder","mm-dd-yyyy").datepicker({ showOn: "button",maxDate: "+1",showOtherMonths: true });
解决方法
好吧,上面的答案是正确的,但它没有验证表格,用户仍然可以提交表格,
我已经做了一些研究,但找不到ny,最后我写了这个功能,工作正常并验证表格,并且不允许提交表格,直到输入正确的日期,希望它有所帮助!
您需要做的唯一事情是添加此代码,然后这将应用于’datePicker’类的所有字段.
$(".datePicker").datepicker({ dateFormat: 'd/mm/yy',changeMonth: true,changeYear: true,firstDay: 1,minDate: Date.parse("1900-01-01"),maxDate: Date.parse("2100-01-01"),yearRange: "c-90:c+150" }); // validation in case user types the date out of valid range from keyboard : To fix the bug with out of range date time while saving in sql $(function () { $.validator.addMethod( "date",function (value,element) { var minDate = Date.parse("1900-01-01"); var maxDate = Date.parse("2100-01-01"); var valueEntered = Date.parse(value); if (valueEntered < minDate || valueEntered > maxDate) { return false; } return !/Invalid|NaN/.test(new Date(minDate)); },"Please enter a valid date!" ); });