entities_validation_svc/validation_functions.py

39 lines
1,012 B
Python
Raw Normal View History

2020-12-04 21:02:55 +01:00
from schwifty import IBAN, BIC
import datetime
from validator_collection import validators, errors
2020-12-04 21:02:55 +01:00
def valid_iban(field, value, error):
try:
IBAN(value)
return True
except ValueError:
error(field, 'not a valid IBAN')
def valid_bic(field, value, error):
try:
BIC(value)
return True
except ValueError:
error(field, 'not a valid BIC')
def iso_date(field, value, error):
try:
datetime.datetime.strptime(value, "%Y-%m-%d")
return True
except ValueError:
error(field, 'not a valid ISO 8601 date')
def valid_money_amount(field, value, error):
try:
# value is string, check formatting by parsing as float
2020-12-04 21:02:55 +01:00
float(value)
return True
except (ValueError, TypeError):
error(field, 'not a valid money value')
def valid_email(field, value, error):
try:
validators.email(value)
return True
except errors.InvalidEmailError:
error(field, 'not a valid email')