0

我目前正在使用来自https://github.com/ericmbarnard/Knockout-Validation的验证插件,它在输入框等普通值字段上运行良好,但我无法在 typeahead 字段上显示任何验证消息。

分配给 typeahead 的 observable 具有分配给它的必需的验证规则,并且插件可以对其进行验证,例如,当它为空白时调用 isValid() 返回 false,但未显示验证消息。

我的 typeahead 自定义绑定如下:

ko.bindingHandlers.typeahead =
init: (element, valueAccessor) ->
    binding = this
    elem = $(element)
    value = valueAccessor()
    elem.typeahead(
        source: ->
            ko.utils.unwrapObservable(value.source)
        onselect: (val) ->
            value.target val
        )

    elem.change ->
        value.target elem.val()

update: (element, valueAccessor) ->
    elem = $(element)
    value = valueAccessor()
    elem.val value.target()

并使用如下:

<input type="text" data-provide="typeahead" data-items="4" data-bind="typeahead:  { target: selectedValue, source: sourceValues}" />

关于 github 问题的一篇文章建议在ko.bindingHandlers.validationCore.init(element, valueAccessor)绑定的 init 部分的末尾粘贴,但这似乎没有任何帮助

4

0 回答 0