为什么 jQuery Validator 接受这个作为有效日期?
01/123/1
如果您输入该日期,它将通过验证。如何确保用户输入的日期有效?我不想使用日期选择器。
链接到验证器: http: //docs.jquery.com/Plugins/Validation/Methods/date
为什么 jQuery Validator 接受这个作为有效日期?
01/123/1
如果您输入该日期,它将通过验证。如何确保用户输入的日期有效?我不想使用日期选择器。
链接到验证器: http: //docs.jquery.com/Plugins/Validation/Methods/date
由于内置日期功能在 Firefox 中不起作用,这里有一个适用于所有浏览器的扩展方法。这还会检查以确保日期有效,99/99/9999 将不起作用。
$.validator.addMethod(
"mmddyyyy",
function(value, element) {
var match = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/.exec(value),
isDate = function (m, d, y) {
return m > 0 && m < 13 && y > 0 && y < 32768 && d > 0 && d <= (new Date(y, m, 0)).getDate();
};
return match && isDate(match[1], match[2], match[3]);
},
"Please enter a date in the format mm/dd/yyyy."
);
$('#Form1').validate({
rules: {
birthDate: { required: true, mmddyyyy: true }
}
});
});