forms.py 915 B

123456789101112131415161718192021222324252627282930
  1. from wtforms import StringField
  2. from wtforms.validators import DataRequired, length, Email, Regexp
  3. from wtforms import ValidationError
  4. from app.models.user import User
  5. from app.validators.base import BaseForm as Form
  6. class ClientForm(Form):
  7. account = StringField(validators=[DataRequired(message='不允许为空'), length(
  8. min=5, max=32
  9. )])
  10. secret = StringField()
  11. class UserEmailForm(ClientForm):
  12. account = StringField(validators=[
  13. Email(message='invalidate email')
  14. ])
  15. secret = StringField(validators=[
  16. DataRequired(),
  17. Regexp(r'^[A-Za-z0-9_*&$#@]{6,22}$')
  18. ])
  19. nickname = StringField(validators=[DataRequired(), length(min=2, max=22)])
  20. def validate_account(self, value):
  21. if User.query.filter_by(email=value.data).first():
  22. raise ValidationError()
  23. class TokenForm(Form):
  24. token = StringField(validators=[DataRequired()])