Durandal JS在页面加载时触发的Knockout Validation与messagesOnModified值无
Knockout Validation with Durandal JS firing on pageload regardless of messagesOnModified value
我正在开发Durandal JS SPA应用程序,希望使用Knockout Validation。
问题是验证是在页面加载时触发的,这不是我想要的——我想自己触发验证。
我试过使用
ko.validation.init({
registerExtenders: true,
messagesOnModified: true,
insertMessages: false
});
以及具有相同参数的ko.validation.config,然后是ko.validation.init();
这是我的视图模型的一个片段。
function ViewModel(){
var self = this;
self.username = ko.observable().extend({
required: true
});
self.errors = ko.validation.group(self);
}
我还试着将对ko.validation.group(self)的调用延迟到单击按钮,但它根本无法验证。
假设您只想显示每个操作的验证错误摘要,则可以执行以下操作:
html
<input type="text" data-bind='value: username' />
<br/>
<button data-bind="click: submit">Submit</button>
<div data-bind="visible: showErrors, text: errors" />
js
function ViewModel() {
var self = this;
self.username = ko.observable().extend({
required: true
});
self.showErrors = ko.observable(false);
self.submit = function () {
self.showErrors(true);
if (self.isValid()) {
// save data here
}
}
self.errors = ko.validation.group(self);
}
样品小提琴
http://jsfiddle.net/LvHUD/1/
相关文章:
- 如何使用jquery Validation验证Formspread
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- 如何将Knockout.JS与服务器已经在DOM中呈现的数据同步
- 显示模块模式在Knockout中设置模型的新实例
- Knockout.JS标签在foreach内部不起作用
- 如何收集Knockout可观察性以放入JSON
- 使用Knockout JS从下拉框中向observalearray添加项
- 将JSON数据从服务器加载到knockout.jsobservable中
- Knockout绑定大量数据的速度较慢
- 使用knockout.js将数组绑定到视图模型
- Knockout observable没有观察到其中一个属性
- 如何使用Jasmine测试Knockout.js点击绑定
- 类似于Prism的Knockout js框架
- 如何从Knockout validation中的可观察项中删除验证规则[extenders]
- Knockout.validation on a Collection
- Enter需要按两次才能触发,KnockoutJS带有knockout.validation.js
- Durandal JS在页面加载时触发的Knockout Validation与messagesOnModified值无
- 使用Knockout Validation验证集合中的可观察对象
- 使用Knockout-Validation插件进行唯一值验证
- 下拉列表上的Knockout Validation总是显示错误消息