X-Git-Url: http://git.datanom.net/flask-test.git/blobdiff_plain/43064c75212b8e5f05e362d8ee9acc58287f930b..db4f0ba9d4aec596f179335f1d86b3dd2bb206c6:/app/forms.py diff --git a/app/forms.py b/app/forms.py new file mode 100644 index 0000000..8c0d16c --- /dev/null +++ b/app/forms.py @@ -0,0 +1,27 @@ +from flask_wtf import FlaskForm +from wtforms import StringField, BooleanField, TextAreaField +from wtforms.validators import DataRequired, Length + +class LoginForm(FlaskForm): + openid = StringField('openid', validators=[DataRequired()]) + remember_me = BooleanField('remember_me', default=False) + +class EditForm(FlaskForm): + nickname = StringField('nickname', validators=[DataRequired()]) + about_me = TextAreaField('about_me', validators=[Length(min=0, max=140)]) + + def __init__(self, original_nickname, *args, **kwargs): + FlaskForm.__init__(self, *args, **kwargs) + self.original_nickname = original_nickname + + def validate(self): + if not FlaskForm.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 nickname is already in use. Please choose another one.') + return False + return True +