title: JSON Schema validating ip-address is not working
body: <p>Failed to validate ip address in one dict, file API.json is as follows:</p>
  <pre><code>{
  &quot;$schema&quot;: &quot;http://json-schema.org/draft-03/schema#&quot;,
  &quot;title&quot;: &quot;test&quot;,
  &quot;type&quot;: &quot;object&quot;,
  &quot;properties&quot;: {
      &quot;type&quot;: {&quot;enum&quot;: [&quot;spice&quot;, &quot;vnc&quot;]},
      &quot;listen&quot;: {
          &quot;type&quot;: &quot;string&quot;,
          &quot;oneOf&quot;: [
              {&quot;format&quot;: &quot;ipv4&quot;},
              {&quot;format&quot;: &quot;ipv6&quot;}
          ]
      }
  },
  &quot;additionalProperties&quot;: false
  }
  </code></pre>
  <p>Codes are as follows:</p>
  <pre><code>from jsonschema import Draft3Validator, ValidationError, FormatChecker
  import json
  
  if __name__ == '__main__':
      graphics1 = {'type': 'spice', 'listen': '0.0.0.0'}
      graphics2 = {'type': 'vnc', 'listen': '0.0.0.0'}
      graphics3 = {'type': 'abc', 'listen': '0.0.0.0'}
      graphics4 = {'type': 'vnc', 'listen': '777.485.999'}
      graphics5 = {'type': 'vnc', 'listen': 'fe00::0'}
      graphics6 = {'type': 'vnc', 'listen': 'def'}
      graphics7 = {'type': 'vnc', 'listen': 'fe00::0abcdefdefs'}
      s = json.load(open('API.json'))
      validator = Draft3Validator(s, format_checker=FormatChecker())
      for x in range(1, 8):
          try:
              graphics = locals().get('graphics'+str(x))
              validator.validate(graphics)
          except ValidationError:
              print('; '.join(e.message for e in validator.iter_errors(graphics)))
  </code></pre>
  <p>And the prints are these:</p>
  <pre><code>'abc' is not one of [u'spice', u'vnc']
  </code></pre>
  <p>Obviously, '777.485.999' ,'def', and 'fe00::0abcdefdefs' are not ip addresses, but the test script doesn't give warnings about them.
  I found one doc(<a href="https://datatracker.ietf.org/doc/html/draft-zyp-json-schema-03" rel="nofollow noreferrer">https://datatracker.ietf.org/doc/html/draft-zyp-json-schema-03</a>) which says about 'ip-address', but not 'ipv4', but it doesn't work either.</p>
  <p>[EDIT]:
  I have Added FormatChecker() for Draft3Validator, but it still isn't working. But as i tried, Draft4Validator is ok. In the doc, i don't find Draft3Valdator not supporting format/ip-address anywhere, it should work.</p>