Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.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使用Coffeescript验证_Javascript_Jquery_Jquery Validate_Coffeescript - Fatal编程技术网

Javascript Jquery使用Coffeescript验证

Javascript Jquery使用Coffeescript验证,javascript,jquery,jquery-validate,coffeescript,Javascript,Jquery,Jquery Validate,Coffeescript,因此,我可以使以下代码在javascript中工作 validateSearchForm:=> $(@el).find("#form").validate({ rules:{ startDateInputBox:{ dateISO:true, endDateInputBox:{lessThan : "#licenseStart"} }, endDateInputBox:{

因此,我可以使以下代码在javascript中工作

validateSearchForm:=>
    $(@el).find("#form").validate({
      rules:{
        startDateInputBox:{
          dateISO:true,
          endDateInputBox:{lessThan : "#licenseStart"}
        },
        endDateInputBox:{
          dateISO:true
        }
        searchPurposeBox:"required"


      }



      });

  $.validator.addMethod "lessThan",(value,element)-> 
    //do some stuff
  ,"some comment"

但lessThan函数在咖啡中一直没有定义。这肯定是语法错误,有人能帮忙吗

我不确定它是否能解决您的问题,但请尝试在不使用
{}
的情况下定义您的对象:

rules:
    startDateInputBox:
        dateISO: true,
        endDateInputBox:
             lessThan: "#licenseStart"
    endDateInputBox:
         dateISO: true
    searchPurposeBox: "required"

您的代码结构如下所示:

validateSearchForm: =>
    $(@el).find('#form').validate({ ... })
    $.validator.addMethod "lessThan", (value, element) -> 
        #...
    , "some comment"
# Somewhere in your global application set up...
$.validator.addMethod "lessThan", (value, element) -> 
    #...
, "some comment"

# And then elsewhere...
class Whatever
    #...
    validateSearchForm: =>
        $(@el).find('#form').validate({ ... })
因此,在尝试验证表单后,您将调用
$.validator.addMethod
。您应该在尝试使用之前添加所有额外的验证方法,并且您可能应该在验证表单的方法之外添加这些方法。更像这样:

validateSearchForm: =>
    $(@el).find('#form').validate({ ... })
    $.validator.addMethod "lessThan", (value, element) -> 
        #...
    , "some comment"
# Somewhere in your global application set up...
$.validator.addMethod "lessThan", (value, element) -> 
    #...
, "some comment"

# And then elsewhere...
class Whatever
    #...
    validateSearchForm: =>
        $(@el).find('#form').validate({ ... })
您必须密切注意CoffeeScript中的缩进,缩进提供了代码结构的一半,因此它必须是正确的,并且应该是一致的。

大括号是可选的,可选并不意味着禁止。