【发布时间】:2014-06-02 22:26:16
【问题描述】:
基本上我想在应用绑定之前验证我的 observable,这样我就永远不会得到某事未定义错误。
假设我确实有一个 javascript 类,它定义了我需要的所有内容,并且我想针对它验证从 ajax 创建的 observable。
有通用的方法吗?
编辑:
http://jsfiddle.net/rgneko/GuR8v/
目前演示会抛出错误,因为其中一项没有 id 属性。我想验证是否所有项目都有效。
$(document).ready(function () {
function ModelToTestAgainst(id, name, type, items) {
this.id = id;
this.name = name;
this.type = type;
this.items = items;
}
var data = {
items: [{
id: 1,
name: 'name1',
type: 'folder',
items: []
}, {
id: 2,
name: 'name2',
type: 'file',
items: []
}, {
name: 'name2',
type: 'file',
items: []
}]
};
var someRandomObservaleIGotFromWherever = ko.mapping.fromJS(data);
// I want to Validate(someRandomObservaleIGotFromWherever) before apply bindings
ko.applyBindings(someRandomObservaleIGotFromWherever);
});
【问题讨论】:
-
你应该让你的问题更清楚一些,展示一些示例代码,并解释你想通用检查的内容。我们无法想象你脑子里有什么......
-
@JotaBe 我添加了小提琴。希望它解释得更好。
-
JSON Schema 越来越受欢迎。也许您可以尝试通过已知模式验证数据。 (github.com/geraintluff/tv4) 是一个正在积极开发中的库,你可以试试
标签: javascript json knockout.js validation jsonschema