我使用敲除验证来验证数据库更新之前的数据。我对淘汰赛验证不太熟悉。输入框的数据绑定中的"valueUpdate"是带有"afterkeydown"的,为此,每次我给出一些无效值时,消息就会出现。但我想显示消息后,用户第一次集中从输入框。之后我想在键上显示消息。如果我可以设置valueUpdate后焦点从视图模型,这可能会有所帮助。由于我在数据绑定中有其他绑定,所以我不能从vm添加数据绑定属性。我检查了这个链接。
你知道怎么做吗?
您的小提琴示例正在使用Knockout 2.3。如果你使用Knockout 3+,你可以使用textInput绑定。
textInput绑定将文本框()或文本区域()与viewmodel属性链接起来,在viewmodel属性和元素的值之间提供双向更新。与值绑定不同,textInput为所有类型的用户输入提供来自DOM的即时更新,包括自动完成、拖放和剪贴板事件。
所以不是:
<input data-bind='value: emailAddress,valueUpdate:"keyup"' required pattern="@"/>
你的绑定看起来像:
<input data-bind='textInput: emailAddress' required pattern="@"/>
这是一个更新的小提琴:https://jsfiddle.net/mx45nnL6/2/