You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.2 KiB
48 lines
1.2 KiB
"""Register form to make a new user."""
|
|
from wtforms import (
|
|
StringField,
|
|
SubmitField,
|
|
PasswordField,
|
|
)
|
|
|
|
from wtforms import validators
|
|
from wtforms.validators import Length, Email, EqualTo, ValidationError
|
|
from flask_wtf import FlaskForm
|
|
|
|
|
|
class RegisterForm(FlaskForm):
|
|
"""Register for distribusi-verse form class"""
|
|
|
|
def hremail(form, field):
|
|
if not field.data.endswith("@hr.nl"):
|
|
raise ValidationError("Only HRO accounts are allowed.")
|
|
|
|
username = StringField(
|
|
"Username:",
|
|
validators=[validators.InputRequired(), Length(3, 150)],
|
|
)
|
|
|
|
email = StringField(
|
|
"Email address:",
|
|
validators=[
|
|
validators.InputRequired(),
|
|
Email(),
|
|
Length(6, 64),
|
|
hremail,
|
|
]
|
|
)
|
|
|
|
password = PasswordField(
|
|
"New password:",
|
|
validators=[validators.InputRequired(), Length(12, 72)],
|
|
)
|
|
|
|
confirmpassword = PasswordField(
|
|
"Confirm your password:",
|
|
validators=[
|
|
validators.InputRequired(),
|
|
Length(12, 72),
|
|
EqualTo("password", message="Passwords must match !"),
|
|
],
|
|
)
|
|
submit = SubmitField("Register to Distribusi-verse")
|
|
|