【发布时间】:2013-12-15 17:23:40
【问题描述】:
在我将它们写入输入之后,我需要对两个日期进行验证:start_date 和 end_date。验证工作正常,但我想选择将 end_date 的值设为 null 或 0。当我在第二个输入中没有写任何内容时,它仍然给我来自 jQuery 的错误消息。你能帮帮我吗?
$.validator.addMethod("enddate", function(value, element) {
alert(value);
if (value != null) {
var startdatevalue = $(".startdate").val();
return Date.parse(startdatevalue) < Date.parse(value);
}
}, "End date must be greater than start date!");
这是我的html:
<tr>
<td>Start date</td>
<td><input type="text" id="startDate" name="startDate" class="startdate" value="<fmt:formatDate pattern="dd.MM.yyyy" value="${List.startDate}" />"/></td>
</tr>
<tr>
<td>End date</td>
<td><input type="text" id="endDate" name="endDate" class="enddate" value="<fmt:formatDate pattern="dd.MM.yyyy" value="${List.endDate}"/>"/></td>
</tr>
【问题讨论】:
-
如果值为 null,您的验证器不会返回任何内容,因此如果您没有在第二个输入中写入任何内容,则它不会验证
-
我认为是同一件事,而不是 id 我写的类。没有?
-
您的 enddate html 在 javascript 中无效,如果 (value != null) 代码将测试值不是 null、未定义、0 和 '',您应该使用严格的形式,例如value !== '' - 作为输入框总是会返回一个字符串
-
@splig - 谢谢,我会这样尝试。
标签: java javascript jquery html date