-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathforms.py
More file actions
56 lines (42 loc) · 2.42 KB
/
forms.py
File metadata and controls
56 lines (42 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from flask_wtf import FlaskForm
from flask_wtf.file import FileField, FileAllowed
from wtforms import StringField, PasswordField, SubmitField, BooleanField, TextAreaField
from wtforms.validators import DataRequired, Length, Email, EqualTo, ValidationError
from models import Usuario
from flask_login import current_user
# pip install email-validator
class FormCriarConta(FlaskForm):
username = StringField('Nome de usuário:', validators=[DataRequired()])
email = StringField('e-mail:', validators=[DataRequired(), Email()])
senha = PasswordField('senha:', validators=[DataRequired(), Length(6, 20)])
senha_confimacao = PasswordField('digite novamamente sua senha:', validators=[EqualTo('senha')])
btn_submit_criar_conta = SubmitField('Criar Conta')
## ! SEMPRE usar iniciar função de validação com 'validate_'
def validate_email(self, email):
user_mail = Usuario.query.filter_by(email=email.data).first()
if user_mail:
raise ValidationError('E-mail já cadastrado. Utilize outro email ou faça login para continuar')
class FormLogin(FlaskForm):
email = StringField('e-mail:', validators=[DataRequired(), Email()])
senha = PasswordField('senha:', validators=[DataRequired(), Length(6, 20)])
check_lembrar_dados = BooleanField('Lembrar dados de acesso')
btn_submit_login = SubmitField('Login')
class FormEditarPerfil(FlaskForm):
username = StringField('Nome de usuário:', validators=[DataRequired()])
email = StringField('e-mail:', validators=[DataRequired(), Email()])
foto_perfil = FileField('Atualizar Foto Perfil', validators=[FileAllowed(['jpg', 'jpeg', 'png'])])
check_skill_python = BooleanField('Python')
check_skill_flask = BooleanField('Flask')
check_skill_django = BooleanField('Django')
check_skill_java = BooleanField('Java')
check_skill_oop = BooleanField('OOP')
btn_submit_profile_edit = SubmitField('Salvar edição')
def validate_email(self, email):
if current_user.email != email.data:
user_mail = Usuario.query.filter_by(email=email.data).first()
if user_mail:
raise ValidationError('E-mail já cadastrado para outro usuário.')
class FormCriarPost(FlaskForm):
post_title = StringField('Título do Post', validators=[DataRequired(), Length(5, 40)])
post_text = TextAreaField('Seu texto aqui.', validators=[DataRequired()])
btn_submit_new_post = SubmitField('Criar Post')