【发布时间】:2013-01-29 03:33:13
【问题描述】:
我正在使用 jQuery Validate 插件来验证表单日期。我已经为输入元素设置了规则,以根据需要和日期进行验证。尽管似乎正在触发的唯一规则是必需的,因为我可以将任何东西放入(文本、数字等)并且它通过验证。仅当输入字段为空白时才会显示错误。
这是我的脚本:
$(function() {
$('#form1').validate({
rules: {
entryDate: {
required: true,
date: true
}
},
messages: {
entryDate:{
required: "A Date is required",
date: "Please enter a valid date"
}
}
});
});
在脚本标签内。
这是我的测试表:
<form action="" method="POST" id="form1">
<input id="entryDate" name="entryDate" class="date" type="text" />
<input type="submit" name="submit" id="submit" />
</form>
谁能指出我正确的方向?为什么不接受日期?
我已经在文件中包含了脚本(jQuery 和 Validate),并且都可以正常加载。
【问题讨论】:
-
文档中对此进行了解释:如果值是有效日期,则返回 true。使用 JavaScript 内置的 Date 来测试日期是否有效,因此不进行完整性检查。只有格式必须有效,而不是实际日期,例如 30/30/2008 是有效日期。与文本输入一起工作!这意味着当传递给
Date构造函数时不返回“无效日期”的任何东西都将验证。 -
作为测试输入,我尝试了“abc”和“123”,这两个条目似乎都通过了验证。根据评论,这是日期验证的预期和正常行为吗?