0
我實現了最近承諾的'dependencies': {'attr': 'val'}
支持,但它不適用於我的用例。這是我想要做什麼:Eve架構中的條件必填字段
schema = {
'attr1': {'type': 'string', 'required': True, 'allowed': ['Foo', 'Bar']},
'attr2': {'type': 'integer', 'required': True, 'default': 1,
'dependencies': {'attr1': 'Foo'}}
}
object = {
'attr1': 'Bar'
}
發帖時object
到端點與schema
,它失敗"attr2": "field 'type' is required with values: Foo"
。我想它只會失敗,如果我的依賴關係字典attr1: 'Foo'
。
我認爲Eve可能會填充attr2
,默認值爲1
,這就是爲什麼它會拋出這個錯誤,但我不確定。
用更多的例子編輯 – 2014-11-21 15:55:19
啊,在創建一個簡單的例子的過程中,我忽略了一個細節:在attr2上設置''default':1'。我已更新我的示例。當你運行這個(與夏娃),你會看到錯誤。問題似乎是,即使某個屬性的依賴關係未得到滿足,也會填充默認值,並且驗證器會對此進行投訴。在填充默認值之前不應該檢查依賴關係嗎? – pmdarrow 2014-11-22 04:13:18