我需要对两个日期进行验证: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>
答案 0 :(得分:0)
在检查startdate小于enddate之前,请确保enddate具有值。
答案 1 :(得分:0)
如果数据为null或0
,则需要返回一些数据$.validator.addMethod("enddate", function(value, element) {
alert(value);
// Valid if null or 0
if (value == null || value == 0) {
return true;
}
// else compare dates
var startdatevalue = $(".startdate").val();
return Date.parse(startdatevalue) < Date.parse(value);
}, "End date must be greater than start date!");
答案 2 :(得分:0)
我找到了一种验证我需要的方法,以便使用jquery datepicker获得start_date&lt; = end_date:
$(document).ready(function(){
$("#startDate").datepicker({
dateFormat: 'dd.mm.yy',
numberOfMonths: 1,
onSelect: function(selected) {
$("#endDate").datepicker("option","minDate", selected);
}
});
$("#endDate").datepicker({
dateFormat: 'dd.mm.yy',
numberOfMonths: 1,
onSelect: function(selected) {
$("#startDate").datepicker("option","maxDate", selected);
}
});
});
我认为其他人也可以使用这个答案。 再次感谢您的回答。