title: Json schema for array of objects doesn't validate
body: <p>I have this schema for a json response</p>
  
  <pre><code>{
      "title": "Products",
      "description": "schema for products",
      "type": "array",
      "properties": {
          "id": {
              "description": "id of a product",
              "type": "integer"
          },
          "name": {
              "description": "name of the product",
              "type": "string"
          },
          "created_at": {
              "description": "record created_at",
              "type": "string",
              "format": "date-time"
          },
          "updated_at": {
              "description": "record updated_at",
              "type": "string",
              "format": "date-time"
          }
      },
      "required": ["id", "name"]
  }
  </code></pre>
  
  <p>and I want to match this schema with this json</p>
  
  <pre><code>[{
      "id": 1,
      "name": "Cricket Ball"
  }, {
      "id": 2,
      "name": "Soccer Ball"
  }, {
      "id": 3,
      "name": "football ball"
  }, {
      "id": 4,
      "name": "Basketball ball"
  }, {
      "id": 5,
      "name": "Table Tennis ball"
  }, {
      "id": 6,
      "name": "Tennis ball"
  }]
  </code></pre>
  
  <p>This schema matches the response but it also matches the schema in which the required field is this</p>
  
  <pre><code>"required": ["ids", "names"]
  </code></pre>
  
  <p>I think the schema is validated against the array and the objects in the array are not validated. </p>