Skip to content

validate() doesn't handle required properly. #128

Closed
@sontek

Description

@sontek
(Pdb) p params
{u'bar': u'foo'}
(Pdb) p flat_schema
{'type': 'object', 'properties': {'foo': {'required': True, 'type': 'string', 'value': 'bar'}}}
(Pdb) validate(params, flat_schema)
*** SchemaError: True is not of type u'array'

Failed validating u'type' in schema[u'properties'][u'properties'][u'additionalProperties'][u'properties'][u'required']:
    {u'items': {u'type': u'string'},
     u'minItems': 1,
     u'type': u'array',
     u'uniqueItems': True}

On instance[u'properties']['foo'][u'required']:
    True
(Pdb) from jsonschema import Draft4Validator
(Pdb) Draft4Validator(flat_schema).validate(params)

You see, with validate it thinks it needs to validate required as an array. Then if I use Draft4Validator it doesn't check the required flag.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions