Я хотел бы знать, можно ли проверить выбранную дату с помощью элемента datepicker из jQuery UI. Я знаю, что можно выбрать дату, ограниченную форматом даты, но также можно ввести дату вручную.jQuery - Проверить дату с datepicker
Я хочу проверить, когда дата вводится вручную, если эта дата действительна. , например. 31/04/2015 будет недействительным, то же самое за 29/02/2015.
У меня есть пример кода, а также скрипка с тем же кодом, что и демо-цель.
В этом примере кода я использую грязный код imo. Есть ли более простой способ сделать это?
HTML
<input type="text" id="txtDatepicker"/>
Javascript
$("#txtDatepicker").datepicker({
dateFormat: "dd/mm/yy",
onClose: function() {
var textdate = $(this).val();
var day = parseInt(textdate.substring(0, 2));
var month = parseInt(textdate.substring(3, 5));
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if(day < 1 || day > 30)
{
alert("Invalid date!");
}
default:
if(day < 1 || day > 31) {
alert("Invalid date!");
}
}
}
});
Как упоминалось ранее, это не всегда проверить, если текущий год является високосным, так, например, 29/02/2015 будет считаться «действительным» в этом коде.
Как это сделать? Я связан с датой «dd/mm/yy» из-за моего региона, а также потому, что это назначение на стажировку, поэтому другие форматы не допускаются.
Заранее благодарен!
Демо: jsFiddle
http://stackoverflow.com/questions/8098202/javascript-detecting-valid-dates – Nizam