jQuery - datepicker.parseDate для 'mm / y', приводящий к неверной дате - PullRequest
2 голосов
/ 11 мая 2011

У меня есть метод проверки, который кажется довольно простым, потому что я использую что-то очень похожее при использовании формата mm/dd/yy, но когда я использую mm/y ... Я получаю недопустимую дату.

Вот мое подтверждение:

function validateDate(dateField) {
    try{
        $.datepicker.parseDate('mm/y', dateField, null);
    }
    catch(error){
        alert(error);
    }
}

Если я передаю дату типа 05/11 ... эта логика жалуется, что дата недействительна. Если я изменю формат на mm/dd/yy и введу 05/11/2011 ... тогда он говорит, что он действителен.

Я что-то упускаю при попытке проверить шаблон mm/y?

1 Ответ

9 голосов
/ 11 мая 2011

К сожалению, вам нужно предоставить как минимум месяц и день для средства выбора даты, чтобы правильно проанализировать вашу дату. Если вы пропустите год, по умолчанию это будет текущий год, поэтому анализ "06/15" как "дд / мм" даст вам 2011-06-15. Но если пропущены месяц или день, по умолчанию они равны -1 и приводят к недопустимой дате.

EDIT:

Если вы просто пытаетесь подтвердить, что пользователь ввел правильные месяц и год, сделайте следующее:

$.datepicker.parseDate('dd/mm/y', "01/" + dateField, null);
...