0

根据文档 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
4

1 回答 1

1

为什么不包含然后使用Coffeescript 的创建者自己推荐的这个很酷的命名空间功能:

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"
于 2015-09-17T23:45:50.560 回答