53 lines
No EOL
1,001 B
Python
53 lines
No EOL
1,001 B
Python
import datetime
|
|
from schwifty import IBAN, BIC
|
|
|
|
|
|
def mandatory(field: str) -> bool:
|
|
return bool(field)
|
|
|
|
|
|
def empty(field: str) -> bool:
|
|
return not bool(field)
|
|
|
|
|
|
def iso_date(field: str) -> bool:
|
|
if not field:
|
|
return False
|
|
try:
|
|
datetime.datetime.strptime(field, "%Y-%m-%d")
|
|
return True
|
|
except ValueError:
|
|
return False
|
|
|
|
|
|
def valid_iban(field: str) -> bool:
|
|
if not field:
|
|
return False
|
|
if not type(field) == str:
|
|
return False
|
|
try:
|
|
IBAN(field)
|
|
return True
|
|
except ValueError:
|
|
return False
|
|
|
|
|
|
def valid_bic(field: str) -> bool:
|
|
if not field:
|
|
return False
|
|
if not type(field) == str:
|
|
return False
|
|
try:
|
|
BIC(field)
|
|
return True
|
|
except ValueError:
|
|
return False
|
|
|
|
def valid_money_amount(field: str) -> bool:
|
|
if not field:
|
|
return False
|
|
try:
|
|
float(field)
|
|
return True
|
|
except (ValueError, TypeError):
|
|
return False |