How to validate data using Cerberus in python

The Cerberus module in Python provides powerful yet lightweight data validation functions. It allows you to define a schema and validate data against specific conditions, throwing accurate errors when validation fails.

You can apply multiple validation rules to data fields simultaneously, making it ideal for validating dictionaries, JSON data, and API responses.

Installation

Cerberus doesn't come with Python by default, so you need to install it using pip ?

pip install Cerberus

Once installed, import the Validator module ?

from cerberus import Validator

Basic Data Validation

First, create a schema that defines the validation rules ?

from cerberus import Validator

schema = {'numbers': {'type': 'integer'}}
v = Validator(schema)
data = {'numbers': 5}

if v.validate(data):
    print("Data is valid")
else:
    print("Data is invalid")
Data is valid

Required Fields and Error Messages

You can mark fields as required and access detailed error messages ?

from cerberus import Validator

v = Validator()
v.schema = {'ID': {'required': True, 'type': 'number'},
            'age': {'type': 'integer'}}

if v.validate({'age': 60}):
    print('Data is valid')
else:
    print('Data is invalid')
    print(v.errors)
Data is invalid
{'ID': ['required field']}

Setting Value Ranges and Length Constraints

Apply minimum/maximum values for numbers and length constraints for strings ?

from cerberus import Validator

v = Validator()
v.schema = {'name': {'type': 'string', 'minlength': 5},
            'age': {'type': 'integer', 'min': 18, 'max': 65}}

if v.validate({'name': 'VJ', 'age': 16}):
    print('Data is valid')
else:
    print('Data is invalid')
    print(v.errors)
Data is invalid
{'age': ['min value is 18'], 'name': ['min length is 5']}

Common Validation Rules

Rule Purpose Example
type Data type validation 'string', 'integer', 'number'
required Field must be present True/False
min/max Numeric range 'min': 18, 'max': 65
minlength/maxlength String length 'minlength': 5

Conclusion

Cerberus provides a flexible way to validate data using custom schemas with multiple validation rules. It's particularly useful for validating JSON data, API responses, and preventing errors in database operations or data analysis workflows.

Updated on: 2026-03-25T16:03:29+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements