from flask_wtf import Form from wtforms import StringField, PasswordField from wtforms.validators import DataRequired, Email, Length, Regexp class LoginForm(Form): email_address = StringField('Email address', validators=[ Length(min=5, max=255), DataRequired(message='Email cannot be empty'), Email(message='Please enter a valid email address') ]) password = PasswordField('Password', validators=[ DataRequired(message='Please enter your password') ]) gov_uk_email = "(^[^@^\\s]+@[^@^\\.^\\s]+(\\.[^@^\\.^\\s]*)*.gov.uk)" mobile_number = "^\\+44[\\d]{10}$" class RegisterUserForm(Form): name = StringField('Name', validators=[DataRequired(message='Name can not be empty')]) email_address = StringField('Email address', validators=[ Length(min=5, max=255), DataRequired(message='Email cannot be empty'), Email(message='Please enter a valid email address'), Regexp(regex=gov_uk_email, message='Please enter a gov.uk email address') ]) mobile_number = StringField('Mobile phone number', validators=[DataRequired(message='Please enter your mobile number'), Regexp(regex=mobile_number, message='Please enter a +44 mobile number')]) password = PasswordField('Password', validators=[DataRequired(message='Please enter your password'), Length(10, 255, message='Password must be at least 10 characters')])