2012-10-15 43 views
1

鑑於本人描述它通過這樣的JSON模式的不同資源的API: https://github.com/salesking/sk_api_schema/blob/master/json/v1.0/address.json使用json模式描述消耗資源的前端框架?

有一個前端JavaScript框架,可以使用JSON-模式作爲(或翻譯爲)的模型?應該可以根據json模式驗證模型,並且它應該能夠處理不同json模式模型之間的引用。

我一直在尋找一個位在ember.js但似乎,即使我寫一些代碼翻譯的JSON架構餘燼模式,它仍然是一個相去甚遠得到驗證工作ember.js楷模。正確?

+0

此外,資源不是靜態的,所以handrolling模型不是可能 – oskbor

+0

我不認爲任何列出的框架都可以做到這一點。具體來說,在設計構建它之後,您還需要從不可確定的對象圖中創建視圖(UI)的額外難度。 – Tyrsius

回答

2

在不瞭解JSON Schema的情況下,我相信Knockout可以很容易地支持這一點。

由於KO模型可以是任何JavaScript對象,你只需要閱讀的模式,並動態地利用基因敲除從每個「屬性」屬性的屬性(哈哈)

您還可以添加驗證生成的對象驗證插件: 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 */ 
        } 
} 
1

JXT(http://www.jxtdev.com)模型與JSON初始化,而且JSON是用於共配置JavaScript包。 JXT實現了MVC模式,當模型中包含的數據發生變化時,它會通知其控制器自動重新加載視圖。這種事件驅動的方法在框架中的任何地方都可以使用,從JXT集合(它們是本地JavaScript集合的包裝)開始。我剛剛發佈了第一個測試版(是的,我是它的開發者),所以你可能會發現它還不成熟,但它值得看一下imo;)