2013-06-23 2 views
2

Я реализую jQuery date picker. который может выбрать дату из календаря, а также ввод в клавиатуру. Когда он выбран из календаря, он работает нормально.Проверка даты Jquery для недействительной записи даты

<input type="text" id="date" /> 

<script> 
    $('#date').datepicker ({ 
    dateFormat: 'mm/dd/yy' 
    }).on("change", function(){ 
    alert("You Entered: "+($(this).datepicker('getdate'))); 
    }) 

Проблема в том, когда я вхожу, скажем, 02/31/2014. который недействителен. Я хотел установить пользовательское сообщение для пользователя, что $ недействительно.

Но Jquery переводит сегодняшнюю дату за неправильные данные. Как я могу получить точное значение ввода пользователя (02/31/2014)?

+0

Sidenote: Вы упускаете кавычки (' ""') вокруг 'значение dateFormat' в – krishgopinath

+0

Также по протоколу HTTPS: //www.google.com/search?q=jquery+datepicker+validation+manual+input – mplungjan

+0

См. [этот вопрос] (http://stackoverflow.com/q/26579899/238753) для способа обнаружения недопустимого ввода. – Sam

ответ

1

При использовании метода getdate для jQuery, он автоматически устанавливает дату сегодняшнего дня для недействительной даты (не уверен, почему это происходит в JQuery).

alert("You Entered: "+($(this).datepicker('getdate'))); 

вместо этого использовать этот

alert("You Entered: "+($("#date").val()); 

Update: Fiddle Demo