]> git.datanom.net - flask-test.git/blobdiff - app/forms.py
First half
[flask-test.git] / app / forms.py
diff --git a/app/forms.py b/app/forms.py
new file mode 100644 (file)
index 0000000..8c0d16c
--- /dev/null
@@ -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
+
This page took 0.028346 seconds and 5 git commands to generate.