diff options
author | doc <doc@filenotfound.org> | 2025-06-28 21:03:28 +0000 |
---|---|---|
committer | doc <doc@filenotfound.org> | 2025-06-28 21:03:28 +0000 |
commit | 86ee174c9d81c0ed5672113fcd8e76cf30c671ec (patch) | |
tree | 78336d6aee604dad9d385b275fff7016699bd33b /forms.py |
Diffstat (limited to 'forms.py')
-rw-r--r-- | forms.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/forms.py b/forms.py new file mode 100644 index 0000000..46e0fb6 --- /dev/null +++ b/forms.py @@ -0,0 +1,28 @@ +from flask_wtf import FlaskForm +from wtforms import StringField, PasswordField, SubmitField +from wtforms.validators import DataRequired, Email, EqualTo, ValidationError +from models import User + +class RegistrationForm(FlaskForm): + username = StringField('Username', validators=[DataRequired()]) + email = StringField('Email', validators=[DataRequired(), Email()]) + password = PasswordField('Password', validators=[DataRequired()]) + password2 = PasswordField( + 'Repeat Password', validators=[DataRequired(), EqualTo('password')]) + submit = SubmitField('Register') + + def validate_username(self, username): + user = User.query.filter_by(username=username.data).first() + if user is not None: + raise ValidationError('Please use a different username.') + + def validate_email(self, email): + user = User.query.filter_by(email=email.data).first() + if user is not None: + raise ValidationError('Please use a different email address.') + + +class LoginForm(FlaskForm): + username = StringField('Username', validators=[DataRequired()]) + password = PasswordField('Password', validators=[DataRequired()]) + submit = SubmitField('Login') |