Knockout验证你好世界上没有运行jsfiddle
问题描述:
我想问一个关于异步knockout.js验证在页面加载运行的问题,我试图在jsfiddle上重现该问题。Knockout验证你好世界上没有运行jsfiddle
事情是,我无法得到最基本的例子,尽管我的箱子上运行着更复杂的场景。这有什么问题?
我不得不邮编:
<div id="vm">
<input type="text" data-bind="value: validatableField" />
<p data-bind="validationMessage: validatableField"></p>
<button data-bind="click: alertValue">value is alerted ok, but doesn't validate</button>
</div>
var Vm = function(){
var self = this;
self.validatableField = ko.observable().extend({ equal: 2 });
self.alertValue = function(){
alert(self.validatableField());
};
};
ko.applyBindings(new Vm(), document.getElementById('vm'));
答
没有什么不对您的代码。
但是验证插件上(cdnjs 1.0.2)目前的版本是很老,它具有防止ko.validation.registerExtenders
正常工作的错误。此后,此错误has been fixed。
,因为你需要在你的小提琴开始打电话ko.validation.registerExtenders()
解决方法:
ko.validation.registerExtenders();
var Vm = function(){
var self = this;
self.validatableField = ko.observable().extend({ equal: "2" });
self.alertValue = function(){
alert(self.validatableField());
};
};
ko.applyBindings(new Vm(), document.getElementById('vm'));
演示JSFiddle。
+0
一年后,令我惊讶的是,这仍然是如此。 – esvendsen
您在本地使用哪个版本的验证插件?你在使用缩小版还是调试版? – nemesv