我目前正在使用来自https://github.com/ericmbarnard/Knockout-Validation的验证插件,它可以很好地处理普通值字段(如输入框),但我无法在typeahead字段中显示任何验证消息。
分配了预先输入的可观察量具有分配给它的必需验证规则,并且插件可以对其进行验证,例如:当它为空时,调用isValid()返回false,但验证消息未显示。
我的预先定制绑定如下:
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问题的一篇文章建议在绑定的init部分结束时粘贴ko.bindingHandlers.validationCore.init(element, valueAccessor)
,但这似乎没有任何帮助