35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
from flask_wtf import FlaskForm
|
|
from wtforms import PasswordField, StringField, SubmitField, ValidationError
|
|
from wtforms.validators import DataRequired, EqualTo
|
|
|
|
from models import User
|
|
|
|
|
|
class RegistrationForm(FlaskForm):
|
|
username = StringField("Username", validators=[DataRequired()])
|
|
password = PasswordField(
|
|
"Password",
|
|
validators=[DataRequired()],
|
|
)
|
|
password2 = PasswordField(
|
|
"Confirm Password",
|
|
validators=[DataRequired(), EqualTo("password", message="Passwords must match.")],
|
|
)
|
|
submit = SubmitField("Register")
|
|
|
|
def validate_username(self, field):
|
|
if User.query.filter_by(username=field.data).first():
|
|
raise ValidationError("Username already in use.")
|
|
|
|
|
|
class LoginForm(FlaskForm):
|
|
username = StringField("Username", validators=[DataRequired()])
|
|
password = PasswordField("Password", validators=[DataRequired()])
|
|
submit = SubmitField("Login")
|
|
|
|
|
|
class IdeaForm(FlaskForm):
|
|
name = StringField("Name", validators=[DataRequired()])
|
|
description = StringField("Description", validators=[DataRequired()])
|
|
submit = SubmitField("Save")
|