Java Jquery日期验证程序未接收值

Java Jquery日期验证程序未接收值,java,javascript,jquery,html,date,Java,Javascript,Jquery,Html,Date,在输入中写入两个日期后,我需要对两个日期进行验证:开始日期和结束日期。验证工作正常,但我希望可以选择将结束日期的值设为null或0。当我没有在第二个输入中写入任何内容时,它仍然会从jQuery中返回错误消息。你能帮帮我吗 $.validator.addMethod("enddate", function(value, element) { alert(value); if (value != null) { var startdatevalue = $(".sta

在输入中写入两个日期后,我需要对两个日期进行验证:开始日期和结束日期。验证工作正常,但我希望可以选择将结束日期的值设为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!");
$.validator.addMethod(“enddate”,函数(值,元素){
警报(值);
if(值!=null){
var startdatevalue=$(“.startdate”).val();
返回Date.parse(startdatevalue)
这是我的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>

开始日期
结束日期

在检查startdate是否小于enddate之前,请确保enddate有值。

如果为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!");
$.validator.addMethod(“enddate”,函数(值,元素){
警报(值);
//如果为null或0,则有效
如果(值==null | |值==0){
返回true;
}
//其他人比较日期吗
var startdatevalue=$(“.startdate”).val();
返回Date.parse(startdatevalue)
我找到了一种方法来验证我所需要的内容,为了让开始日期生效,如果值为null,您的验证器不会返回任何内容,因此如果您没有在第二个输入中写入任何内容,则不会进行验证。我认为这是相同的内容,而不是我编写的类id。否?您的enddate html在javascript中无效。如果(value!=null)测试值不为null、未定义、0和“”,则代码应使用严格的形式,例如value!=''-作为输入框,将始终返回string@splig-谢谢,我会这样尝试。谢谢你的提示,但这只适用于我没有在结束日期输入中写入任何内容的情况。如果我这样做,验证将无法正确执行。。
$(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);

          }

      }); 

    });