From 8c3f4d5c1699a0734b92c74ba8c1cd0421bbeea5 Mon Sep 17 00:00:00 2001
From: Michael Drury <mpdrury15@gmail.com>
Date: Thu, 4 May 2023 13:25:30 +0100
Subject: [PATCH] added regex for email and mobile

---
 instance/app.db            | Bin 20480 -> 20480 bytes
 shop/forms.py              |   4 ++--
 shop/templates/signup.html |  10 ++++++++++
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/instance/app.db b/instance/app.db
index a0bb521094a60d9b0848c589b5ab2a3ab07a2448..0f3cc401ba385b59245d15e7f42e4c0dec1acfdf 100644
GIT binary patch
delta 223
zcmZozz}T>Wae_3Xz(g5mMuCk9OZa(Mc(*a|XYyU+bLZW*Sx{gZZ+#;l3nznkV<a!H
zwsJ;lPELM7Qg%w3kyUX<qLHbYm64eN5U9Ajq&fNcIEEM|2b*SQr5CH1BqtgerkWTe
zCt6x0rWhoen<N>UnOGVdm>HRy8W~$8ry5$MrWzSpq?sF<r6r{p8=9G?q*+=R8d#*I
z7^bCwt#Zgn6$09*mz<w#jsTn8<@Pf2u<&1J;D5;fivK$Q*Uf?o$N9N9nZ+5w+E_L}
I)R$KP0ELu5aR2}S

delta 61
zcmV-D0K)%(paFoO0gxL350M;00S~cYqz?)M4o3hFX%5y7N3#(iIS#W&9=!ny0}tT<
T58)5$5B0MVK+_Mi;V&N`7nBmH

diff --git a/shop/forms.py b/shop/forms.py
index 30d0044..79c1f73 100644
--- a/shop/forms.py
+++ b/shop/forms.py
@@ -13,8 +13,8 @@ class SignupForm(FlaskForm):
     username = StringField('Username', validators=[input_required(), Length(1, 16)])
     password = PasswordField('Password', validators=[input_required()])
     verifyPassword = PasswordField('Verify password', validators=[input_required(), EqualTo('password', message='Passwords must match')])
-    email = StringField('email', validators=[input_required(), Length(1, 16)])
-    mobile = StringField('mobile', validators=[input_required(), Length(11, 11)])
+    email = StringField('email', validators=[Regexp(regex="^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$", message = 'has to be a valid email'), input_required(), Length(1, 16)])
+    mobile = StringField('mobile', validators=[Regexp(regex='^[+-]?[0-9]+$', message = 'only integers allowed'), input_required(), Length(11, 11)])
     submit = SubmitField('Submit')
 
 class orderByForm(FlaskForm):
diff --git a/shop/templates/signup.html b/shop/templates/signup.html
index 64f8806..2384018 100644
--- a/shop/templates/signup.html
+++ b/shop/templates/signup.html
@@ -13,9 +13,19 @@
                 </p>
                 <p class="login_field">
                     {{ form.email.label }} {{ form.email(class = "input_field") }}
+                    {% if form.email.errors %}
+                    {% for error in form.email.errors %}
+                      <p class = "input_error">{{ error }}</p>
+                    {% endfor %}
+                    {% endif %}
                 </p>
                 <p class="login_field">
                     {{ form.mobile.label }} {{ form.mobile(class = "input_field") }}
+                    {% if form.mobile.errors %}
+                    {% for error in form.mobile.errors %}
+                      <p class = "input_error">{{ error }}</p>
+                    {% endfor %}
+                    {% endif %}
                 </p>
                 <p class="login_field">
                     {{ form.password.label }} {{ form.password(class = "input_field") }}
-- 
GitLab