Path: blob/master/web-gui/buildyourownbotnet/users/forms.py
1292 views
import json1from flask_wtf import FlaskForm2from flask_wtf.file import FileField, FileAllowed3from wtforms import StringField, PasswordField, SubmitField, BooleanField, SelectField, TextAreaField4from wtforms.validators import DataRequired, Length, EqualTo, ValidationError56from buildyourownbotnet.models import User789class RegistrationForm(FlaskForm):10username = StringField('Username',11validators=[DataRequired(), Length(max=16)])12password = PasswordField('Password',13validators=[DataRequired(), Length(min=8)])14confirm_password = PasswordField('Confirm Password',15validators=[DataRequired(), Length(min=8), EqualTo('password')])16submit = SubmitField('Sign Up')1718def validate_email(self, email):19if User.query.filter_by(email=email.data).first():20raise ValidationError("That email is taken. Please choose a different one.")2122def validate_username(self, username):23if User.query.filter_by(username=username.data).first():24raise ValidationError("That username is taken. Please choose a different one.")252627class LoginForm(FlaskForm):28username = StringField('Username',29validators=[DataRequired(), Length(max=16)])30password = PasswordField('Password',31validators=[DataRequired(), Length(min=8)])32submit = SubmitField('Log In')333435class UpdateAccountForm(FlaskForm):36picture = FileField('Update Profile Picture',37validators=[FileAllowed(['jpg','png'])])38submit = SubmitField('Update')3940class ResetPasswordForm(FlaskForm):41password = PasswordField('New Password',42validators=[DataRequired(), Length(min=8)])43confirm_password = PasswordField('Confirm New Password',44validators=[DataRequired(), Length(min=8), EqualTo('password')])45submit = SubmitField('Reset Password')46474849