У меня была та же проблема, что и у вас, и ответ Магнара помог, но не полностью ответил на проблему.
Вы определили основную причину. Действие пользователя, взаимодействующего с календарем, убирает фокус с поля ввода. Это (в случае ненавязчивой проверки jquery) вызовет событие onBlur, инициирующее проверку этого поля ввода. В этот момент значение остается прежним, пока пользователь не выберет что-либо.
Следовательно, основываясь на ответе Магнара, он заявляет, что вам необходимо повторно проверить поле ввода при изменении календаря. Наиболее очевидный способ - вызвать $("form").valid()
, однако это подтверждает всю форму.
Лучший способ - просто проверить поле ввода, связанное со средством выбора даты, и вы можете запустить его, выполнив следующее:
$('#myform input').blur(function () {
var that = this;
setTimeout(function () {
$(that).trigger("focus").trigger("blur");
}, 100);
});
Теперь проверяется только ваше поле ввода, поскольку вы фальсифицировали пользователя, щелкающего в поле ввода и выходящего из него.