У меня есть поле статус .
Если пользователь устанавливает задание в качестве чернового состояния, я не хочу запрашивать поле описания - но я хочу, чтобы по умолчанию была пустая строка.
Если пользовательпубликация задания, для которого требуется описание.
Я не могу понять, как в массиве "oneOf - draft" установить значение по умолчанию для описания.
Вот моя схема
{
"schema": "http://json-schema.org/draft-04/schema#",
"$id": "http://company.com/schemas/job-update.json#",
"title": "Job",
"description": "Update job",
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 2
},
"description": {
"type": "string"
// Can't set default here - as it will apply for the publish status.
},
"status": {
"enum": ["draft", "published", "onhold"],
"default": "draft"
}
},
"oneOf": [
{
"description": "Draft jobs do not require any validation",
"properties": {
"status": { "enum": ["draft"]}
},
"required": []
// SOME WHERE HERE SET DESCRIPTION.default: ""
},
{
"description": "Published jobs require validation on required fields",
"properties": {
"status": { "enum": ["published"]}
},
"required": [
"description"
],
}
],
"additionalProperties": false
}