1

我有一个出生日期字段呈现为附加到日期选择器的文本框。这是html输出:

<input class="text-box single-line hasDatepicker valid" data-val="true" data-val-date="The field Birth Date must be a date." data-val-required="The Birth Date field is required." id="DateOfBirth" name="DateOfBirth" type="datetime" value="">

它不应该允许未来的日期。这是jQuery的代码:

$('#DateOfBirth').datepicker({ maxDate: '+0d' });
$.validator.addMethod("noFutureDate", function(value) {
    if (value !== undefined) {
        var dob = Date.parse(value);
        var today = new Date();
        if (dob > today) {
            return false;
        }
        return true;
    }
    return true;
}, "Birth Date cannot be a future date.");
$('#DateOfBirth').rules('add', { noFutureDate: true });

它运作良好。但是,它允许像“05/”这样的部分日期,并且它转换为日期 988689600000。 datepicker 是否允许输入部分日期?处理它的最佳方法是什么?我需要添加正则表达式验证规则吗?

4

1 回答 1

0

我不确定这是否是您想要的,但请参阅此JSBin

您可以清除输入并留下日期选择器来为您处理验证。

$('input').keyup -> @value = ''
于 2013-05-06T17:27:33.903 回答