Open In App

Basic Validation using flask-gladiator module in Python

All kinds of validation are essential nowadays, considering all the unstructured data flowing in and out of systems. Apart from client-side validation, server-side validations are equally essential in web development. This article discusses a way in which validation can be injected in various frameworks such as Flask or Django.

Python’s flask-gladiator is a module that provides the following features:



Installation 

This module doesn’t come inbuilt with python and thus has to be installed explicitly

pip install flask-gladiator



From this module, validate() function is used to get the job done.

Syntax:

validate(data, validators) 

Parameters:

Approach : 

Given below are its various implementations that perform validations based on different validators.

Example 1 : 




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)))

Output : 

Validating data : 

Is data valid ? : True

Example 2 :




# 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)))

Output : 

Validating data : 

Is data valid ? : True


Article Tags :