Skip to main content

Validators for fields in Flask-Restless

Project description

OSIRIS VALIDATOR

Osiris Validator is a set of decorators for validation in Flask-restless and SQLAlchemy

(Readme is under construction...)

Getting Started

Installing

pip install osirisvalidator

Usage

The parameter validation_exceptions in APIManager.create_api() from Flask-restless must be set to use osiris' ValidationException.

from osirisvalidator.exceptions import ValidationException

[...]

manager = APIManager(app, flask_sqlalchemy_db=db)
manager.create_api(User, validation_exceptions=[ValidationException], methods=['GET', 'POST'])

To use the decorators, the validates() decorator from SQLAlchemy must be used before, and the pattern must be followed.

See about in: https://flask-restless.readthedocs.io/en/stable/customizing.html#capturing-validation-errors

The parameter "field" is required and you can set a custom message.

from sqlalchemy.orm import validates
from osirisvalidator.string import *
from osirisvalidator.internet import valid_email

class Usuario(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(200), nullable=False)
    email = db.Column(db.String(60), nullable=False)

    @validates('name')
    @not_blank(field='name', message='Custom message')
    @is_alpha_space(field='name')
    @string_len(field='name', min=3, max=100)
    def validate_name(self, key, name):
        return name

    @validates('email')
    @not_blank(field='email')
    @valid_email(field='email')
    def validate_email(self, key, email):
        return email

List of validators

osirisvalidator.string

  • not_empty
  • not_blank
  • is_alpha
  • is_alpha_space (alpha characters and space)
  • is_alnum
  • is_alnum_space (alphanumeric characters and space)
  • is_digit
  • string_len (mandatory parameters: min and max)
  • match_regex (mandatory parameter: regex)

osirisvalidator.number

  • min_max (mandatory parameters: min and max)

osirisvalidator.internet

  • valid_email

osiris.intl.br

  • valid_cpf
  • valid_cnpj

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

osirisvalidator-0.1.0.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

osirisvalidator-0.1.0-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file osirisvalidator-0.1.0.tar.gz.

File metadata

  • Download URL: osirisvalidator-0.1.0.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for osirisvalidator-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b23c9bd70651141b7ed84a9440ff7c2e05b50b716f6a86269f0fe87aceaa6ada
MD5 8038d62cb100d70edd0d188e0057baae
BLAKE2b-256 46fa6cc09ab7166ea4bbad05d91027e8ebfbe29db452c0e714a5c4c0e8e48245

See more details on using hashes here.

File details

Details for the file osirisvalidator-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: osirisvalidator-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for osirisvalidator-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 609ee2fc924877efca53746316411fa35e72eb0ab940b0faebef318c8696699d
MD5 8a0e550e65c6a8eb40ba2ac94b17ef55
BLAKE2b-256 5650e06c3a5867080a882fe55cabb7805ef70c64784587e6d245421cce460c82

See more details on using hashes here.

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