在用户输入无效值后显示验证消息,然后将焦点放在keyup上,使用淘汰验证



我使用敲除验证来验证数据库更新之前的数据。我对淘汰赛验证不太熟悉。输入框的数据绑定中的"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/

最新更新