-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathform.py
41 lines (31 loc) · 1.71 KB
/
form.py
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
from flask_wtf import FlaskForm
from wtforms import (BooleanField, DateTimeField, PasswordField, RadioField,
StringField, SubmitField)
from wtforms.validators import DataRequired, EqualTo, ValidationError, length
from app.model import User
class LoginForm(FlaskForm):
username = StringField('用户名', validators=[DataRequired(), length(1, 20)])
password = PasswordField('密码', validators=[DataRequired(), length(1, 20)])
remember_me = BooleanField('记住我')
submit = SubmitField('登录')
class RegistrationForm(FlaskForm):
username = StringField('用户名', validators=[DataRequired(), length(1, 20)])
nick_name = StringField('昵称', validators=[DataRequired(), length(1, 20)])
password = PasswordField('密码', validators=[DataRequired(), length(1, 20)])
password2 = PasswordField(
'再次输入密码', validators=[DataRequired(), EqualTo('password')])
submit = SubmitField('注册')
@staticmethod
def validate_username(username):
user = User.query.filter_by(username=username.data).first()
if user is not None:
raise ValidationError('Please use a different username.')
class TodoListForm(FlaskForm):
title = StringField('标题', validators=[DataRequired(), length(1,20)])
content = StringField('内容', validators=[length(0, 250)])
status = RadioField('是否完成', validators=[DataRequired()], choices=[('0', '未完成'), ('1', '已完成')])
submit = SubmitField('提交')
class UserForm(FlaskForm):
username = StringField('用户名', validators=[DataRequired(), length(1, 20)])
nick_name = StringField('昵称', validators=[DataRequired(), length(1, 20)])
submit = SubmitField('保存')