2014-07-22 26 views
0

我對一個項目使用JSON模式(http://json-schema.org/)和jdorn的JSON編輯器(https://github.com/jdorn/json-editor),我不能完全弄清楚是否支持特定的功能。JSON模式+ JSON編輯器:帶有可觸發列的表

基本上,我試圖得到一個表格式的輸入,它基於一個與format: "table"的數組很好地工作。但是,我也試圖根據另一個輸入將這些列中的某些列切換(顯示或不顯示)。

因此,例如,一系列布爾屬性或唯一的枚舉數組會導致類似於「顯示列B?是/否,顯示列C?是/否?等等」,以及作爲用戶切換這些輸入,表格中的列會改變。

JSON編輯器文檔詳細信息如何使取決於另一個字段,但不取決於該字段的可用性。它通過引用JSON Schema的dependencies屬性,這看起來很有希望,但是我發現JSON Schema的文檔更難以使用。

那麼,有沒有人知道這是支持的功能,無論是通過純JSON模式,或通過JSON編輯器擴展?

回答

2

在Json-Schema Draft v4中,您可以定義schema validation dependencies through enumerations

但是Json-Schema不會從其規範中推定任何UI行爲。這只是爲了構建UI而對模式進行的自定義解釋。 Json編輯器自行決定如何解釋模式,因此您需要分析它是否涵蓋了您的所有需求。無論如何There is an example where the form is changed when toggling a combo box

+0

謝謝。我意識到'oneOf'功能,並知道我可以使用它;但是,據我所知,它需要在每個2^N個可能的列組合中創建一個模式變體(並讓用戶通過滾動來選擇組合)。如果沒有選擇使各個屬性依賴於其他值,我想我最終會走這條路。 –

+0

爲什麼2^N?這取決於您的域中有多少這些組合是合理的。您應該需要N個模式,一個用於您想提供的每個選項。無論如何,我們會遷徙擴展json-schema太多。它的目的不是可視化的...... – jruizaranguren

+0

2^N因爲作爲提到的問題,我想要的是指定(例如基於名爲布爾值的N的值)在某些模式中,N個屬性中的每一個屬性都應該被需要或不需要目的。在我的情況下,N是4,所以我可以這麼做...所以你知道'dependencies'功能應該如何工作? –