2

鉴于我有一个 API,它通过 json-schema 描述它的不同资源,如下所示: https ://github.com/salesking/sk_api_schema/blob/master/json/v1.0/address.json

是否有可以将 json-schema 用作(或将其转换为)模型的前端 javascript 框架?应该可以根据 json 模式验证模型,并且应该能够处理不同 json 模式模型之间的引用。

我一直在看 ember.js,但似乎即使我编写了一些代码来将 json 模式转换为 ember 模型,要让 ember.js 模型的验证工作仍然相去甚远。正确的?

4

2 回答 2

2

在不太了解 JSON Schema 的情况下,我相信 Knockout 可以很容易地支持这一点。

由于 KO 模型可以是任何 Javascript 对象,您只需要读取模式,并从每个“properties”属性的属性生成一个对象(哈哈)

您还可以使用 Knockout Validation 插件动态添加验证: https ://github.com/ericmbarnard/Knockout-Validation

组合示例:

var schema = // read in json
var model = {}

for (prop in schema.properties) {
    model[prop] = ko.observable().extend({ 
                      maxLength: /* get your value from schema, etc */,
                      minLength: /* get your value from schema, etc */
                  }
}
于 2012-10-16T01:39:01.660 回答
2

JXT ( http://www.jxtdev.com ) 模型使用 JSON 初始化,而且 JSON 用于配置 JavaScript 包。JXT 实现了 MVC 模式,当模型中包含的数据发生变化时,它将通知其控制器,控制器将自动重新加载视图。这种事件驱动的方法在框架中随处使用,从 JXT 集合(它们是原生 JavaScript 集合的包装器)开始。我刚刚发布了第一个测试版(是的,我是它背后的开发者),所以你可能会发现它仍然不成熟,但值得一看 imo ;)

于 2012-12-10T10:37:32.043 回答