-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathforms.py
More file actions
33 lines (28 loc) · 1.28 KB
/
forms.py
File metadata and controls
33 lines (28 loc) · 1.28 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
from flask_wtf import Form
from wtforms import StringField, BooleanField, TextAreaField
from wtforms.validators import DataRequired, Length
from app.models import User
class LoginForm(Form):
# openid = StringField('openid', validators=[DataRequired()])
nickname = StringField('nickname', validators=[DataRequired()])
password = StringField('password', validators=[DataRequired()])
email = StringField('email')
remember_me = BooleanField('remember_me', default=False)
class EditForm(Form):
nickname = StringField('nicknamae', validators=[DataRequired()])
about_me = TextAreaField('about_me', validators=[Length(min=0, max=140)])
def __init__(self, original_nickname, *args, **kwargs):
Form.__init__(self, *args, **kwargs)
self.original_nickname = original_nickname
def validate(self):
if not Form.validate(self):
return false
if self.nickname.data == self.original_nickname:
return True
user = User.query.filter_by(nickname = self.nickname.data).first()
if user != None:
self.nickname.errors.append('This Name is already used! Please choose another one!')
return False
return True
class PostForm(Form):
post = StringField('post', validators=[DataRequired()])