DefaultingValidator

class lsst.ts.salobj.DefaultingValidator(schema, ValidatorClass=<class 'jsonschema.validators.create.<locals>.Validator'>)

Bases: object

A wrapper for jsonschema validators that applies default values.

Parameters:
schema : dict

Schema against which to validate.

ValidatorClass : jsonschema.IValidator, optional

jsonschema validator class, e.g. jsonschema.Draft7Validator.

Notes

This class is not a jsonschema.IValidator but it contains two validators:

  • defaults_validator: a validator that sets default values in the data being validated
  • final_validator: a standard validator that does not alter the data being validated.

Methods Summary

validate(data_dict) Validate data.

Methods Documentation

validate(data_dict)

Validate data.

Set missing values based on defaults in the schema, then check the final result against the schema (in case any defaults are not valid).

Parameters:
data_dict : dict or None

Data to validate. If None then an empty dict is used.

Returns:
result : dict

Validated data. A copy of data_dict with missing values that have defaults set to those defaults.

Raises:
jsonschema.exceptions.ValidationError

If the data does not match the schema.