san*_*san 2 validation knockout.js
我是淘汰赛的新手.我需要有一个验证器,用于日期,用户将在文本框中输入.为此写了代码之类的
ko.validation.rules['date'] = {
validator: function (value, validate) {
//Custom logic
},
message: 'Please type proper date'
};
self.userDate = ko.observable(new Date()).extend({date: true });
Run Code Online (Sandbox Code Playgroud)
这项工作正常.但我需要在一些延迟(当用户停止输入时)调用此验证.
任何人都可以告诉我如何在延迟时调用此验证?
要确保在用户键入时更新viewmodel,请使用valueUpdate 绑定:
<input data-bind="value: userDate, valueUpdate: 'afterkeydown'" />
然后你控制observable:
self.userDate = ko.observable(new Date()).extend({
throttle: 1000, //<- time in ms to wait before validation
date: true
});
Run Code Online (Sandbox Code Playgroud)
在这种情况下,节流阀在最后一次注册的输入事件之后等待1000毫秒以执行验证.