diff --git a/ui/input_menu.py b/ui/input_menu.py index 257d7d6..1d39ef7 100644 --- a/ui/input_menu.py +++ b/ui/input_menu.py @@ -34,6 +34,11 @@ class Validator: regex = re.compile(r'^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,31}$') return re.fullmatch(regex, input) + @staticmethod + def check_postcode(input): + regex = re.compile(r'\b\d{4}[A-Z]{2}\b') + return re.fullmatch(regex, input) + class InputMenu: def __init__(self, title): diff --git a/views/advisor_menu.py b/views/advisor_menu.py index f5f2587..6fc0e6d 100644 --- a/views/advisor_menu.py +++ b/views/advisor_menu.py @@ -62,7 +62,7 @@ class AdvisorMenu: form.add_option("FIRSTNAME", "Firstname", "STR", None, 1, 250, None) form.add_option("LASTNAME", "Lastname", "STR", None, 1, 250, None) form.add_option("ADDRESS", "Address", "STR", None, 1, 250, None) - form.add_option("ZIPCODE", "Zipcode", "STR", None, 6, 6, None) + form.add_option("ZIPCODE", "Zipcode", "STR", None, 6, 6, Validator.check_postcode) form.add_option("EMAIL", "Email", "STR", None, 1, 250, Validator.check_email) form.add_option("PHONE", "Phone (+31-6)", "STR", None, 8, 8, None) form.add_option("PASSWORD", "Password", "STR", None, 1, 255, Validator.check_password) @@ -97,7 +97,7 @@ class AdvisorMenu: edit_form.add_option("FIRSTNAME", "Firstname", "STR", user.firstname, 1, 250, None) edit_form.add_option("LASTNAME", "Lastname", "STR", user.lastname, 1, 250, None) edit_form.add_option("ADDRESS", "Address", "STR", user.address, 1, 250, None) - edit_form.add_option("ZIPCODE", "Zipcode", "STR", user.zipcode, 6, 6, None) + edit_form.add_option("ZIPCODE", "Zipcode", "STR", user.zipcode, 6, 6, Validator.check_postcode) edit_form.add_option("EMAIL", "Email", "STR", user.email, 1, 250, Validator.check_email) edit_form.add_option("PHONE", "Phone (+31-6)", "STR", user.phone, 8, 8, None) edit_form.do_input() diff --git a/views/member_menu.py b/views/member_menu.py index bb5cb93..06112e9 100644 --- a/views/member_menu.py +++ b/views/member_menu.py @@ -62,7 +62,7 @@ class MemberMenu: form.add_option("FIRSTNAME", "Firstname", "STR", None, 1, 250, None) form.add_option("LASTNAME", "Lastname", "STR", None, 1, 250, None) form.add_option("ADDRESS", "Address", "STR", None, 1, 250, None) - form.add_option("ZIPCODE", "Zipcode", "STR", None, 6, 6, None) + form.add_option("ZIPCODE", "Zipcode", "STR", None, 6, 6, Validator.check_postcode) form.add_option("EMAIL", "Email", "STR", None, 1, 250, Validator.check_email) form.add_option("PHONE", "Phone (+31-6)", "STR", None, 8, 8, None) form.do_input() @@ -95,7 +95,7 @@ class MemberMenu: edit_form.add_option("FIRSTNAME", "Firstname", "STR", user.firstname, 1, 250, None) edit_form.add_option("LASTNAME", "Lastname", "STR", user.lastname, 1, 250, None) edit_form.add_option("ADDRESS", "Address", "STR", user.address, 1, 250, None) - edit_form.add_option("ZIPCODE", "Zipcode", "STR", user.zipcode, 6, 6, None) + edit_form.add_option("ZIPCODE", "Zipcode", "STR", user.zipcode, 6, 6, Validator.check_postcode) edit_form.add_option("EMAIL", "Email", "STR", user.email, 1, 250, Validator.check_email) edit_form.add_option("PHONE", "Phone (+31-6)", "STR", user.phone, 8, 8, None) edit_form.do_input() diff --git a/views/system_admin_menu.py b/views/system_admin_menu.py index 9f2f4b0..c67f72e 100644 --- a/views/system_admin_menu.py +++ b/views/system_admin_menu.py @@ -62,7 +62,7 @@ class SystemAdminMenu: form.add_option("FIRSTNAME", "Firstname", "STR", None, 1, 250, None) form.add_option("LASTNAME", "Lastname", "STR", None, 1, 250, None) form.add_option("ADDRESS", "Address", "STR", None, 1, 250, None) - form.add_option("ZIPCODE", "Zipcode", "STR", None, 6, 6, None) + form.add_option("ZIPCODE", "Zipcode", "STR", None, 6, 6, Validator.check_postcode) form.add_option("EMAIL", "Email", "STR", None, 1, 250, Validator.check_email) form.add_option("PHONE", "Phone (+31-6)", "STR", None, 8, 8, None) form.add_option("PASSWORD", "Password", "STR", None, 1, 255, Validator.check_password) @@ -100,8 +100,7 @@ class SystemAdminMenu: edit_form.add_option("FIRSTNAME", "Firstname", "STR", user.firstname, 1, 250, None) edit_form.add_option("LASTNAME", "Lastname", "STR", user.lastname, 1, 250, None) edit_form.add_option("ADDRESS", "Address", "STR", user.address, 1, 250, None) - edit_form.add_option("ZIPCODE", "Zipcode", "STR", user.zipcode, 6, 6, None) - edit_form.add_option("CITY_ID", "City", "STR", user.city_id, 1, 250, None) + edit_form.add_option("ZIPCODE", "Zipcode", "STR", user.zipcode, 6, 6, Validator.check_postcode) edit_form.add_option("EMAIL", "Email", "STR", user.email, 1, 250, Validator.check_email) edit_form.add_option("PHONE", "Phone (+31-6)", "STR", user.phone, 8, 8, None) edit_form.do_input()