根据this文档,BootstrapValidator支持自定义验证回调。
<input type="text" class="form-control" name="captcha"
data-bv-callback="true"
data-bv-callback-message="Wrong answer"
data-bv-callback-callback="checkCaptcha" />
function checkCaptcha(value, validator){}
但是如何在CoffeeScript中定义相同的回调?我试图在没有成功的情况下定义全局函数:
@checkCaptcha = (value, validator) ->
如果使用 @checkCaptcha ,则需要设置
data-bv-callback-callback="document.checkCaptcha" />
这有点难看。是否有一些范围对象,可以用于我的目的吗?
UPD。
$ ->
f = (x) ->
console.log(x)
f(123) //error
window.f(123) //error
document.f(123) //works well
$ ->
@f = (x) ->
console.log(x)
f(123) //error
window.f(123) //error
document.f(123) //works well
答案 0 :(得分:1)
为什么不包括然后使用这个很酷的命名空间函数recommended by Coffeescript's creator himself:
namespace = (target, name, block) ->
[target, name, block] = [(exports ? window), arguments...] if arguments.length < 3
top = target
target = target[item] ?= {} for item in name.split '.'
block target, top
...然后你可以让自己成为命名空间:
namespace 'Captcha', (exports)->
exports.checkCaptcha = (value, validator) ->
并使用:
data-bv-callback-callback="Captcha.checkCaptcha"