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



我有一个验证方法,它看起来很简单,因为我在使用格式时使用了非常相似的东西 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模式时是否遗漏了某些内容?

不幸的是,您需要为日期选择器提供至少一个月和一天的时间才能正确解析您的日期。如果省略年份,则默认为当前年份,因此将"06/15"解析为"dd/mm"将得到 2011-06-15。但是,如果省略月份或日期,则它们默认为 -1,并将生成无效日期。

编辑:

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

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

最新更新