Skip to main content

A package for easy json validation.

Project description

Easy JSON Validator

Description

A python package for deep json validation easy to use and well explained

Install

pip install easy-validator

Usage example

Success Case

from easyvalidator import JsonValidator

source = {"name": "My Name", "birth": "2000-01-01", "salary": 1000} # your json

template = {"name": ["NotNull"]} # what you want to test 

validator = JsonValidator(template=template, source=source)       

result = validator.validate()       

print(f"result: {result}")

# result: {'name': {'value': "My Name", 'rules': ['NotNull'], 'validations': {'NotNull': {'status': 'OK'}}}}

Fail Case

from easyvalidator import JsonValidator

source = {"name": null, "birth": "2000-01-01", "salary": 1000} # your json

template = {"name": ["NotNull"]} # what you want to test

validator = JsonValidator(template=template, source=source)       

result = validator.validate()       

print(f"result: {result}")

# result: {'name': {'value': "My Name", 'rules': ['NotNull'], 'validations': {'NotNull': {'status': 'FAIL', 'msg': 'Field can not be null'}}}}

More Complex Case with deep field validation

from easyvalidator import JsonValidator

source = {"name": "My Name", "birth": "2000-01-01", "salary": 1000, "address": {"details": "number": 13}} # your json

template = {"address": {"details": "number": ["GreaterThan(value=12)", "IsBetween(start=10, end=20)"]}} # what you want to test 

validator = JsonValidator(template=template, source=source)       

result = validator.validate()       

print(f"result: {result}")

# result: {"address": {"details": "number": {'value': 13, 'rules': ['GreaterThan(value=12)', 'IsBetween(start=10, end=20)'], 'validations': {'GreaterThan(value=12)': {'status': 'OK'}, IsBetween(start=10, end=20)': {'status': 'OK'}}}}

Available Rules

NotNull
NotEmpty
IsEmpty
NotEquals(value=VALUE)
IsBetween(start=NUMERICAL VALUE, end=NUMERICAL VALUE)
IsNotBetween(start=NUMERICAL VALUE, end=NUMERICAL VALUE)
DateIsAfter(date=YYYY-mm-dd)
DateIsBefore(date=YYYY-mm-dd)
DateIsExactly(date=YYYY-mm-dd)
GreaterThan(value=NUMERICAL VALUE)
LessThan(value=NUMERICAL VALUE)
LessThanOrEqual(value=NUMERICAL VALUE)
GreaterThanOrEqual(value=NUMERICAL VALUE)
TextEquals(value=VALUE)
TextContains(value=VALUE)
TextNotContains(value=VALUE)
TextStartsWith(value=VALUE)
TextEndsWith(value=VALUE)

Source Code

easyvalidator

Author

2020 brworkit.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

easy-validator-0.0.1.tar.gz (4.7 kB view hashes)

Uploaded Source

Built Distribution

easy_validator-0.0.1-py3-none-any.whl (7.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page