我有一个架构,我想将其用于 2 个属性:
{
"title": "testschema",
"type": "object",
"additionalProperties": false,
"required": [
"prop2"
],
"properties": {
"prop1": {
"type": "object",
"$ref": "#/components/schemas/commonSchema"
},
"prop2": {
"type": "object",
"$ref": "#/components/schemas/commonSchema"
}
}
}
现在我希望 prop2 应该针对公共模式中提到的 requiredproperties 进行验证,但 prop1 不应该。由于此 ref 架构是共享的,因此我无法将所需的属性保留在 commonschema 中。有没有一种方法可以在 ref 架构上添加这些验证,而无需直接将它们添加到其中?
另请注意,我在 c# 中动态创建此模式,因此不确定如何在模式中对条件要求条件进行编程。有没有办法在 commonschema 中满足此条件,如果其父模式 title=="prop2" 那么应用必填字段验证