jQuery - 'mm/y'上的datepicker.parseDate导致无效日期

Jay*_*ton 2 jquery jquery-ui-datepicker

我有一个看似非常简单的验证方法,因为我在使用格式时使用了非常相似的东西mm/dd/yy,但是当我使用时mm/y...我一直得到一个无效的日期.

这是我的验证:

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

如果我传递的日期如05/11...这个逻辑抱怨日期无效.如果我将格式更改为mm/dd/yy并输入05/11/2011...则说它有效.

在尝试验证mm/y模式时,我错过了什么吗?

Mic*_*eld 9

不幸的是,您需要为datepicker提供至少一个月的日期才能正确解析日期.如果您将年份退出,则默认为当前年份,因此将"06/15"解析为"dd/mm"将为您提供2011-06-15.但如果省略月份或日期,则默认为-1并将生成无效日期.

编辑:

如果您只是想确认用户输入了有效的月份和年份,请执行以下操作:

$.datepicker.parseDate('dd/mm/y', "01/" + dateField, null);
Run Code Online (Sandbox Code Playgroud)