title: json schema with one mandatory property and at least one another not typed checked
body: <p>I have this object in json which I would like to validate with a json schema</p>
  
  <pre><code>"reference": {
      "lookup" : "opportunity",
      "shortreference": 93671,
      "guid": "4bb30c46-20ec-e511-9408-005056862bfb"
  }
  </code></pre>
  
  <p><em>lookup</em> property is mandatory, and then I need at least, either <em>shortreference</em> or <em>guid</em> or both.</p>
  
  <pre><code>{
      "reference": {
        "type": "object",
        "description": "opportunity reference",
        "properties": {
          "lookup": {
            "enum": [
              "employee",
              "opportunity",
              "serviceline",
              "account"
            ]
          }
        },
        "anyOf": [
          {
            "properties": {
              "shortreference": {
                "type": "integer"
              },
              "guid": {
                "type": "string"
              }
            }
          }
        ],
        "required": [
          "lookup"
        ]
      }
    }
  </code></pre>
  
  <p><strong>EDIT</strong>
  I fixed my issue using the following schema</p>
  
  <pre><code>{
      "reference": {
        "type": "object",
        "required": [
          "lookup"
        ],
        "properties": {
          "lookup": {
            "type": "string",
            "enum" : ["opportunity", "employee", "serviceline", "account"]
          }
        },
        "anyOf": [
          {
            "properties": {
              "shortreference": {
                "type": "integer"
              }
            },
            "required": [
              "shortreference"
            ]
          },
          {
            "properties": {
              "crmguid": {
                "type": "string"
              }
            },
            "required": [
              "crmguid"
            ]
          },
          {
            "properties": {
              "springim": {
                "type": "integer"
              }
            },
            "required": [
              "springim"
            ]
          }
        ]
      }
  </code></pre>
  
  <p>but when I have both elements, all input type aren't typed checked:
  if "shortreference" : "12345" (a string rather an integer), as soon as the parameter crmguid is provided, the check about type won't be performed. is there a way to force it. (I'm using AJV : <a href="https://github.com/epoberezkin/ajv" rel="noreferrer">https://github.com/epoberezkin/ajv</a>)</p>