diplomus / forms.py
Arghet6's picture
Upload 44 files
6bcf797 verified
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField
from wtforms.validators import DataRequired, Email, EqualTo, Length, ValidationError
from models import User
from wtforms import FileField
from wtforms.validators import Email, Optional
from flask_wtf.file import FileAllowed
class EditProfileForm(FlaskForm):
username = StringField('Имя пользователя', validators=[Optional()])
email = StringField('Email', validators=[Optional(), Email()])
avatar = FileField('Аватарка', validators=[FileAllowed(['jpg', 'png', 'jpeg'], 'Только изображения')])
current_password = PasswordField('Текущий пароль', validators=[Optional()])
new_password = PasswordField('Новый пароль', validators=[Optional()])
confirm_password = PasswordField('Подтвердите новый пароль', validators=[
Optional(),
EqualTo('new_password', message='Пароли должны совпадать')
])
submit = SubmitField('Сохранить')
def validate_email(self, email):
user = User.query.filter_by(email=email.data).first()
if user:
raise ValidationError('Этот email уже используется')
class LoginForm(FlaskForm):
email = StringField('Email', validators=[DataRequired(), Email()])
password = PasswordField('Пароль', validators=[DataRequired()])
submit = SubmitField('Войти')
class RegistrationForm(FlaskForm):
username = StringField(
'Имя пользователя',
validators=[
DataRequired(message="Пожалуйста, введите имя пользователя."),
Length(min=4, max=25, message="Имя пользователя должно быть от 4 до 25 символов.")
]
)
email = StringField(
'Email',
validators=[
DataRequired(message="Пожалуйста, введите email."),
Email(message="Пожалуйста, введите корректный email.")
]
)
password = PasswordField(
'Пароль',
validators=[
DataRequired(message="Пожалуйста, введите пароль."),
Length(min=6, message="Пароль должен содержать не менее 6 символов.")
]
)
confirm_password = PasswordField(
'Подтвердите пароль',
validators=[
DataRequired(message="Пожалуйста, подтвердите пароль."),
EqualTo('password', message="Пароли не совпадают.")
]
)
submit = SubmitField('Зарегистрироваться')