Validación básica usando el módulo matraz-gladiador en Python

Todos los tipos de validación son esenciales hoy en día, teniendo en cuenta todos los datos no estructurados que entran y salen de los sistemas. Además de la validación del lado del cliente, las validaciones del lado del servidor son igualmente esenciales en el desarrollo web. Este artículo analiza una forma en que la validación se puede inyectar en varios marcos, como Flask o Django.

El matraz-gladiador de Python es un módulo que proporciona las siguientes características:

  • Validación del lado del servidor permitida de cualquier formulario.
  • Se puede extender a cualquier marco .py.
  • Permite funcionalidades como verificar rango, requerido, tipo, etc.

Instalación

Este módulo no viene incorporado con python y, por lo tanto, debe instalarse explícitamente

pip install matraz-gladiador

Desde este módulo, la función de validación() se utiliza para realizar el trabajo.

Sintaxis:

validar (datos, validadores) 

Parámetros:

  • datos: datos en consideración
  • validadores: dice sobre qué base se debe hacer la validación
    • requerido :  El validador requerido para verificar la presencia del campo siempre.
    • format_email: Validador para verificar el correo electrónico.
    • length_max : Comprueba la longitud máxima del texto.
    • length_min : Comprueba la longitud mínima del texto.
    • length : Comprueba la longitud en particular.
    • type_ : Comprueba un tipo en particular.
    • regex_ : Comprueba la expresión regular.
    • _value : Comprueba un valor particular.
    • in_ : Comprobaciones en una lista particular.
    • lt : comprueba si hay menos de un valor entero.
    • gt : Comprueba si hay un valor mayor que el entero.
    • eq : Comprueba el valor entero igual.
    • ne : comprueba si no hay un valor entero igual.
    • gte : Comprueba si hay un valor entero mayor que igual.
    • lte : comprueba si hay menos que igual al valor entero.
    • true_if_empty : si está vacío, este validador devuelve verdadero.
    • skip_on_fail : si la validación falla, esto se puede usar para omitir las pruebas de validación.

Acercarse : 

  • En el paso inicial, los datos de entrada se formulan en formato de diccionario.
  • Las validaciones se inicializan como tuplas de tuplas, donde el primer elemento de la tupla es clave para verificar y los siguientes valores son validaciones que deben aplicarse a la clave correspondiente.
  • La función de validación() toma las validaciones y el diccionario de entrada y devuelve Verdadero si todas las validaciones son verdaderas, de lo contrario devuelve Falso.

A continuación se presentan sus diversas implementaciones que realizan validaciones basadas en diferentes validadores.

Ejemplo 1 : 

Python3

import gladiator as gl
  
# input test data
valid_data = {
    'email': 'manjeet@gfg.com',
    'password': '123456',
    'name': 'Manjeet',
    'age': 24,
    'access': "User"
}
  
# assigning validations
field_validations = (
    ('email', gl.required, gl.format_email),
    ('password', gl.required, gl.length_min(5)),
    ('name', gl.required, gl.type_(str)),
    ('age', gl.required, gl.type_(int), gl.eq(24)),
    ('access', gl.required, gl.in_(['User', 'Admin']))
)
  
# checking data using validate()
print("Validating data : ")
result = gl.validate(field_validations, valid_data)
print("Is data valid ? : " + str(bool(result)))

Producción : 

Validando datos: 

¿Son válidos los datos? : Verdadero

Ejemplo 2:

Python3

# Using regex, gt and length validators
import gladiator as gl
  
# input test data
valid_data = {
    'email': 'manjeet@gfg.com',
    'password': '123456',
    'name': 'Manjeet',
    'Gender': 'M',
    'age': 24,
  
}
  
# assigning validations
# checks name by regex, gender using length range, age greater than 18.
field_validations = (
    ('email', gl.required, gl.format_email),
    ('password', gl.required, gl.length_min(5)),
    ('name', gl.required, gl.type_(str), gl.regex_('[a-zA-Z][a-zA-Z ]+')),
    ('age', gl.required, gl.type_(int), gl.gt(18)),
    ('Gender', gl.length(1, 4)),
)
  
# checking data using validate()
print("Validating data : ")
result = gl.validate(field_validations, valid_data)
print("Is data valid ? : " + str(bool(result)))

Producción : 

Validando datos: 

¿Son válidos los datos? : Verdadero

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *