from wtforms import StringField from wtforms.validators import DataRequired, length, Email, Regexp from wtforms import ValidationError from app.models.user import User from app.validators.base import BaseForm as Form class ClientForm(Form): account = StringField(validators=[DataRequired(message='不允许为空'), length( min=5, max=32 )]) secret = StringField() class UserEmailForm(ClientForm): account = StringField(validators=[ Email(message='invalidate email') ]) secret = StringField(validators=[ DataRequired(), Regexp(r'^[A-Za-z0-9_*&$#@]{6,22}$') ]) nickname = StringField(validators=[DataRequired(), length(min=2, max=22)]) def validate_account(self, value): if User.query.filter_by(email=value.data).first(): raise ValidationError() class TokenForm(Form): token = StringField(validators=[DataRequired()])