在CoffeeScript中定义BootstrapValidator回调

时间:2015-09-17 07:49:54

标签: javascript coffeescript bootstrapvalidator

根据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

1 个答案:

答案 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"