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

时间:2011-05-10 21:35:32

标签: jquery jquery-ui-datepicker

我有一个看似非常简单的验证方法,因为我在使用格式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 个答案:

答案 0 :(得分:9)

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

编辑:

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

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