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)