json 模式根据另一个 属性 的值验证一个 属性 的值
json schema validate the value of one property against the value of another property
假设我有以下 Json 架构
{
'type': 'object',
'properties': {
'MinimumNumber': {'type':'number'},
'MaximumNumber': {'type':'number'}
},
'required': ['MinimumNumber', 'MaximumNumber'],
'additionalProperties': false
}
如何验证 MaximumNumber 的值是否高于 MinimumNumber 的值?
无效对象
{
MinimumNumber: 10,
MaximumNumber: 5
}
有效对象
{
MinimumNumber: 5,
MaximumNumber: 10
}
这是一个常见问题,但是不,在 JSON 架构中无法将数据的一部分与另一部分进行比较。您可以通过编辑架构以包含一部分数据来手动完成此操作,例如通过模板。
@Ether 说得对,纯 JSON 模式没有解决方案。但是,现在有词汇。我 written one 可以让你做到这一点。
目前只有我的 .Net 实现,但随着 2020-12 草案的采用,这可能会在其他框架的实现中得到更多使用。
假设我有以下 Json 架构
{
'type': 'object',
'properties': {
'MinimumNumber': {'type':'number'},
'MaximumNumber': {'type':'number'}
},
'required': ['MinimumNumber', 'MaximumNumber'],
'additionalProperties': false
}
如何验证 MaximumNumber 的值是否高于 MinimumNumber 的值?
无效对象
{
MinimumNumber: 10,
MaximumNumber: 5
}
有效对象
{
MinimumNumber: 5,
MaximumNumber: 10
}
这是一个常见问题,但是不,在 JSON 架构中无法将数据的一部分与另一部分进行比较。您可以通过编辑架构以包含一部分数据来手动完成此操作,例如通过模板。
@Ether 说得对,纯 JSON 模式没有解决方案。但是,现在有词汇。我 written one 可以让你做到这一点。
目前只有我的 .Net 实现,但随着 2020-12 草案的采用,这可能会在其他框架的实现中得到更多使用。