Hi ππ
In this post, I will share with you how to use onelinevalidation library In Python.
What is onelinevalidation
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
Examples of how to use
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 validate
If you want more control use custom_validate
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'}}
from onelinevalidation import validate_data_with_callbacks
import validators
user_data = {
'btc': '3Cwgr2g7vsi1bXDUkpEnVoRLA9w4FZfC69',
'amount': 1,
'md5': 'd41d8cd98f00b204e9800998ecf8427e'
}
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
{'good': {'btc': '3Cwgr2g7vsi1bXDUkpEnVoRLA9w4FZfC69', 'amount': 1, 'md5': 'd41d8cd98f00b204e9800998ecf8427e'}}
Top comments (0)