Javascript Jquery使用Coffeescript验证
因此,我可以使以下代码在javascript中工作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:{
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中的缩进,缩进提供了代码结构的一半,因此它必须是正确的,并且应该是一致的。大括号是可选的,可选并不意味着禁止。