Skip to main content

Pequeña librería de validadores reutilizables.

Project description

Minivalidator

Pequeña librería de validadores reutilizables para Python.

Descripción

Minivalidator es una librería ligera que proporciona reglas de validación reutilizables para validar datos en aplicaciones Python. Incluye validadores comunes como verificación de cadenas no vacías, formato de email y rangos numéricos.

Instalación

Puedes instalar Minivalidator usando pip:

pip install minivalidator

O desde el código fuente:

git clone <https://github.com/KevinNavia/Pg2_2daInstancia.git>
cd minivalidator
pip install .

Uso

Importar la librería

from minivalidator.rules import NotEmpty, IsEmail, InRange
from minivalidator.errors import ValidationError

Ejemplos de uso

NotEmpty

Valida que una cadena no esté vacía.

validator = NotEmpty()
try:
    validator.validate("hola")  # Pasa
    validator.validate("")      # Lanza ValidationError
except ValidationError as e:
    print(e)

IsEmail

Valida el formato de un email.

validator = IsEmail()
try:
    validator.validate("user@example.com")  # Pasa
    validator.validate("invalid-email")     # Lanza ValidationError
except ValidationError as e:
    print(e)

InRange

Valida que un número esté dentro de un rango.

validator = InRange(0, 10)
try:
    validator.validate(5)    # Pasa
    validator.validate(15)   # Lanza ValidationError
except ValidationError as e:
    print(e)

API

Clases de Validación

  • Rule: Clase base abstracta para reglas de validación.
  • NotEmpty: Valida que el valor no sea None o una cadena vacía.
  • IsEmail: Valida que el valor sea una cadena con formato de email válido.
  • InRange(min_, max_): Valida que el valor numérico esté dentro del rango especificado.

Excepciones

  • ValidationError: Excepción lanzada cuando una validación falla. Incluye el mensaje de error y el valor inválido.

Pruebas

Para ejecutar las pruebas, instala pytest y ejecuta:

pytest

O específicamente para las pruebas de reglas:

pytest test/test_rules.py

Licencia

Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.

Autor

Kevin Navia Matienzo - kevinnavia68@gmail.com

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

minivalidator-0.1.0.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

minivalidator-0.1.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: minivalidator-0.1.0.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for minivalidator-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fdea1269c36713b5d4176b1370ef17c1f099389e21617d613d084e4b13de3b33
MD5 b9c0d44f39172848d22d20b733fa55f1
BLAKE2b-256 7a4e2c68273809ef5c4ca7fc6426a1800e8ea4004197dffa6c0bacde093cacb0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: minivalidator-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for minivalidator-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 965a5403c0a2276aa449b4318f19ac782193d431aeda71ff29e02f6c7cc60723
MD5 c1385ce997ca6645a405a69e81b74506
BLAKE2b-256 9be6d49b3466628b71c92675b6bac7ffc2f80802b9f84be79a8b666fd06a2e8f

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