2012-08-28 32 views
0

,所以我可以做下面的代码工作在JavaScriptjQuery验证与CoffeeScript的

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" 

但每种不超过功能保持在咖啡被不确定的。很确定这是一些语法错误 - 任何人都可以帮忙吗?

回答

0

我不知道它会解决你的问题,但尝试定义您的对象,而不{}

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

大括号是可选的,*可选*不代表*禁止*。 –

0

您的代码结构是这样的:

validateSearchForm: => 
    $(@el).find('#form').validate({ ... }) 
    $.validator.addMethod "lessThan", (value, element) -> 
     #... 
    , "some comment" 

所以你打电话$.validator.addMethod您尝试验证窗体。您应该在之前添加所有额外的验证方法,然后尝试使用它们,并且应该将它们添加到将验证表单的方法之外。更多的东西是这样的:

# 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压痕,压痕用品一半的代码的结构,所以它必须是正确的,它应该是一致的。