0 purchases
vutilsvalidator 0.2.0
vutils-validator: Data Validation Utilities
This package provides a set of tools that helps with validation of input data.
Installation
To get the package on your system, type
$ pip install vutils-validator
How to Use
Please, read the following subsections to get more info about particular use
case.
Basic Validations
Module vutils.validator.basic provides a set of functions for validation of
simple input data forms, like email addresses:
verify_not_empty(value) fails if value is empty.
verify_matches(value, regex, message="") fails if value does not match
regular expression regex. Since many regular expressions describe entities
that have a name (identifier, number, email address, etc.) the default error
message can be overridden by message argument.
verify_email(value) fails if value is not an email address (currently
described by simple ^\S+@\S+\.[A-Za-z]+$ regular expression).
The value passed to all validation functions can be either str or a
ValueHolder (from vutils.validator.value) object. A ValueHolder object
can be used to store additional information about value, like its name and
origin. The synopsis of ValueHolder's constructor is
__init__(self, value, name="The value", location=None), where value,
name, and location are value, its name, and the location of its origin,
respectively. location is a Location (from vutils.validator.value) object
that holds path, line, and column of the value/token origin. ValueHolder
serves to provide more detail about value in error messages issued by
validation functions by raising ValidationError (from
vutils.validator.errors) when the validation fails, example:
from vutils.validator.basic import verify_email
from vutils.validator.errors import ValidationError
from vutils.validator.value import ValueHolder
def get_input(name):
return ValueHolder(input(f"Enter {name}: "), name)
try:
verify_email(get_input("email"))
except ValidationError as exc:
print(exc)
On ill-formed input, the example prints email must be an email address!,
since get_input names a value as email.
Schema Validation
Module vutils.validator.schema provides function validate(data, schema) for
data validation against JSON schema schema. Function returns None in case
of valid data or list of jsonschema.exceptions.{Validation,Schema}Error in
case of invalid data or schema.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.