codememo

JSON Schema를 사용하여 두 필드 중 하나를 요구하는 방법

tipmemo 2023. 2. 8. 17:55
반응형

JSON Schema를 사용하여 두 필드 중 하나를 요구하는 방법

JSON을 검증하여 두 필드 중 하나로 만들고 싶습니다.

2개의 필드(이메일주소와 전화번호)가 있다고 가정합니다.레코드가 유효하려면 두 필드 중 하나가 필요합니다.

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "ExampleID-0212",
  "title": "objectExamples",
  "description": "Demo",
  "type": "object",
  "properties": {
    "RecordObject": {
      "type": "object",
      "properties": {
        "emailAddress": {
          "type": "string"
        },
        "PhoneNumber": {
          "type": "number"
        }
      }
    }
  },
  "required": [
    "RecordObject"
  ]
}

다음 항목을 추가해야 합니다.

"anyOf": [
  { "required":
    [ "emailAddress" ] },
  { "required":
    [ "PhoneNumber" ] }
]

RecordObject 속성의 스키마로 이동합니다.

적어도 1개의 필드가 존재해야 합니다.정확히 하나의 필드(즉, 둘 다 아님)가 필요한 경우 "one Of" 키워드를 사용해야 합니다(나머지는 동일해야 합니다.

이 JSON Schema 키워드의 참조는 도움이 됩니다.

ESP의 Sooperb 답변..jsonSchema에서...

그 검증 조건도 가능합니다.이하를 참조해 주세요

 if(EmailAddress == null && PhoneNumber == null){
     //statements or error message response
}

언급URL : https://stackoverflow.com/questions/41321368/how-to-use-json-schema-to-require-one-of-two-fields

반응형