From 938f40979b271e0204a6224001be459b27c34e6c Mon Sep 17 00:00:00 2001
From: Arun J <cb.en.u4cce19010@cb.students.amrita.edu>
Date: Fri, 25 Dec 2020 02:45:17 +0530
Subject: [PATCH] Use Emailfield for client side validation

---
 bam/forms.py | 34 ++++++++++++++++++++++++++--------
 1 file changed, 26 insertions(+), 8 deletions(-)

diff --git a/bam/forms.py b/bam/forms.py
index 5835264..d58ed3d 100644
--- a/bam/forms.py
+++ b/bam/forms.py
@@ -1,18 +1,28 @@
 from flask_wtf import FlaskForm
-from wtforms import StringField, PasswordField, SubmitField, BooleanField
+from wtforms import PasswordField, SubmitField, BooleanField
+from wtforms.fields.html5 import EmailField
 from wtforms.validators import DataRequired, Length, Email, EqualTo, ValidationError
 from bam.models import User
 
 
 class RegistrationForm(FlaskForm):
-    email = StringField("Email", validators=[DataRequired(), Email()], render_kw={"placeholder": "Enter your email"})
-    password = PasswordField("Password", validators=[DataRequired()], render_kw={"placeholder": "Choose a strong password"})
+    email = EmailField(
+        "Email",
+        validators=[DataRequired(), Email()],
+        render_kw={"placeholder": "Enter your email"},
+    )
+    password = PasswordField(
+        "Password",
+        validators=[DataRequired()],
+        render_kw={"placeholder": "Choose a strong password"},
+    )
     confirm_password = PasswordField(
-        "Confirm Password", validators=[DataRequired(), EqualTo("password")],
-        render_kw={"placeholder":"Re-enter your password"}
+        "Confirm Password",
+        validators=[DataRequired(), EqualTo("password")],
+        render_kw={"placeholder": "Re-enter your password"},
     )
 
-    submit = SubmitField("Sign Up")
+    submit = SubmitField("Register")
 
     def validate_email(self, email):
         if User.query.filter_by(email=email.data).first():
@@ -20,7 +30,15 @@ class RegistrationForm(FlaskForm):
 
 
 class LoginForm(FlaskForm):
-    email = StringField("Email", validators=[DataRequired(), Email()], render_kw={"placeholder": "bookmaster@bam.com"})
-    password = PasswordField("Password", validators=[DataRequired()], render_kw={"placeholder": "masterofbooks"})
+    email = EmailField(
+        "Email",
+        validators=[DataRequired(), Email()],
+        render_kw={"placeholder": "bookmaster@bam.com"},
+    )
+    password = PasswordField(
+        "Password",
+        validators=[DataRequired()],
+        render_kw={"placeholder": "masterofbooks"},
+    )
     remember = BooleanField("Remember Me")
     submit = SubmitField("Login")
-- 
GitLab