Hi 🙂🖐
In this post, I will share with you how to Validate data using onelinevalidation library in Python
onelinevalidation It is a simple library in the Python language that performs validation in an easy and simple way.
Install onelinevalidation
python pip install onelinevalidation
or
pip install onelinevalidation
validate form data
from onelinevalidation import validate_form
userData = {"username": "amr123", "email": "amr.@aol.com", "password": "123Ab#"}
print(validate_form(userData))
Result
{'error': {'username': 'Invalid username should be like this abc_123 or abc. abc', 'email': 'This email address is not valid', 'password': 'The password length must be at least 8 uppercase, lowercase letters, numbers, symbols like @aA123#*'}
}
Create custom validation using regex
from onelinevalidation import custom_validate
pattrens = [
"[a-zA-Z]+[_.]+[a-zA-Z0-9]+",
"[a-zA-Z0-9_-]+[@](aol|gmail|yahoo|outlook)+(.com)+",
"^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$"
]
messages = [
"Invalid username should be like this abc_123 or abc. abc",
"This email address is not valid",
"The password length must be at least 8 uppercase, lowercase letters, numbers, symbols like @aA123#*"
]
print(custom_validate(userData, pattrens, messages))
Result
{'good': {'username': 'amr_123', 'email': 'amr@aol.com', 'password': '123---Ab#'}}
Do you not prefer dealing with the regex 🙃?
Now in the new version 🥳🎉, you can perform validation using callback functions. From the validators library
from onelinevalidation import validate_data_with_callbacks
import validators
user_data = {
'btc': '00000000000000000000000',
'amount': 0.5,
'md5': '0000'
}
messages = [
'Invalid btc address',
'The minimum value must be at least $1.',
'Invalid md5 value'
]
from functools import partial
callbacks = [
validators.btc_address,
{'func': partial(validators.between, min_val = 1, max_val = 100)},
validators.md5
]
result = validate_data_with_callbacks(user_data, callbacks, messages)
print(result)
Result
{'errors': {'btc': 'Invalid btc address', 'amount': 'The minimum value must be at least $1.', 'md5': 'Invalid md5 value'}}
Top comments (0)