Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用自定义日期选择器进行Jquery验证_Javascript_Jquery_Jquery Validate_Coffeescript - Fatal编程技术网

Javascript 使用自定义日期选择器进行Jquery验证

Javascript 使用自定义日期选择器进行Jquery验证,javascript,jquery,jquery-validate,coffeescript,Javascript,Jquery,Jquery Validate,Coffeescript,现在我有一个自定义的日期选择器,我正在尝试进行验证。具体来说,我试图检查startDate字段是否在endDate字段之前 当我点击我的日期选择器并填充我的输入字段时,我需要点击我的字段,然后在消息出现之前离开该字段。我认为这是因为jqueryvalidate正在侦听输入字段中的keyup事件,而不是change事件 这是我的代码(用咖啡编写,但我接受javascript回答)- 少于- jQuery.validator.addMethod "lessThan", ((value, elemen

现在我有一个自定义的日期选择器,我正在尝试进行验证。具体来说,我试图检查startDate字段是否在endDate字段之前

当我点击我的日期选择器并填充我的输入字段时,我需要点击我的字段,然后在消息出现之前离开该字段。我认为这是因为jqueryvalidate正在侦听输入字段中的keyup事件,而不是change事件

这是我的代码(用咖啡编写,但我接受javascript回答)-

少于-

jQuery.validator.addMethod "lessThan", ((value, element) ->
  validDateFormat = /(\d{4})-(\d{2})-(\d{2})/
  startDateInput = $("#startTime").val()
  endDateInput = $("#endTime").val()
  startDateMatch = startDateInput.match(validDateFormat)
  endDateMatch = endDateInput.match(validDateFormat)
  startDateYear = startDateMatch[1]
  startDateMonth = startDateMatch[2]
  startDateDay = startDateMatch[3]
  endDateYear = endDateMatch[1]
  endDateMonth = endDateMatch[2]
  endDateDay = endDateMatch[3]
  startDate = new Date(startDateYear,startDateMonth,startDateDay)
  endDate = new Date(endDateYear,endDateMonth,endDateDay)
  if endDate < startDate
    return false
  return true
), "Start time has to be before end time"
jQuery.validator.addMethod“lessThan”,((值,元素)->
ValidDataFormat=/(\d{4})-(\d{2})-(\d{2})/
startDateInput=$(“#startTime”).val()
endDateInput=$(“#endTime”).val()
startDateMatch=startDateInput.match(validDateFormat)
endDateMatch=endDateInput.match(ValidDataFormat)
startDateYear=startDateMatch[1]
startDateMonth=startDateMatch[2]
startDateDay=startDateMatch[3]
endDateYear=endDateMatch[1]
endDateMonth=endDateMatch[2]
endDateDay=endDateMatch[3]
startDate=新日期(startDateYear、startDateMonth、startDateDay)
endDate=新日期(endDateYear、endDateMonth、endDateDay)
如果endDate
我如何做到当我点击我的日期选择器并用错误的值填充我的字段时,错误消息立即出现?我尝试了onkeyup,但这并不能解决问题


谢谢

我之前所做的是挂接到datepicker的onClose事件(如果有,我知道jQuery UI datepicker有onClose),然后调用

$("#searchForm input[name='startDateInputBox']").valid()
如果需要自定义日期选择器验证,请查看。
$("#searchForm input[name='startDateInputBox']").valid()