Skip to main content

dvalidator validation attributes

Project description

Library for validating your object dictionary

from dvalidator.validator import Validator
import dvalidator.rules as rules


validator = Validator({
    'a': rules.required(),
    'b': rules.required('Field "b" not found'),
    'c': [rules.required(), rules.is_type(str, 'Field "c" is not str type')]
    })

d = {'a': 1, 'b': 2, 'c': '3'}

res, err = validator.validate(d)

print(res)
True

Other rules see in: https://github.com/kakabara/capybara/blob/master/capybara/rules.py

Also you can create custom validation method:

from dvalidator.validator import Validator
import dvalidator.rules as rules


def raise_on_exist(message='Found unexpected field in dict'):
    def check(field: str, dict_to_check: dict):
        if field in dict_to_check:
            return False, None
        else:
            return True, message
    return check

validator = Validator({
    'a': rules.required(),
    'b': raise_on_exist()
    })

d = {'a': 1, 'b': 2}

res, err = validator.validate(d)

print(res)
False

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

dvalidator-0.1.4.tar.gz (3.1 kB view details)

Uploaded Source

File details

Details for the file dvalidator-0.1.4.tar.gz.

File metadata

  • Download URL: dvalidator-0.1.4.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.2

File hashes

Hashes for dvalidator-0.1.4.tar.gz
Algorithm Hash digest
SHA256 bc570ea74bde129c0870e6fe21a059f0cf3691e89aae7837be73c922ea7c4329
MD5 89283da2978a07b8f5d49440e991852f
BLAKE2b-256 deae48bcb09a58417c6bf8bccda7320b0a6f72d6dc4ea951ada058515461d2dd

See more details on using hashes here.

Supported by

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