| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- """
- user -
- auther: tanlie
- date: 2026/8/23
- """
- from wtforms import StringField, IntegerField, ValidationError
- from wtforms.validators import DataRequired, Email, Regexp, length
- from app.libs.enums import ClientTypeEnum
- from app.validators.base import BaseForm as Form
- class ClientForm(Form):
- account = StringField(validators=[DataRequired(message='不允许为空'), length(
- min=5, max=32
- )])
- secret = StringField()
- type = IntegerField(validators=[DataRequired()])
- def validate_type(self, value):
- try:
- client = ClientTypeEnum(value.data)
- except ValueError as e:
- raise e
- self.type.data = client
- class UserEmailForm(ClientForm):
- account = StringField(validators=[
- Email(message='invalidate email')
- ])
- secret = StringField(validators=[
- DataRequired(),
- # password can only include letters , numbers and "_"
- Regexp(r'^[A-Za-z0-9_*&$#@]{6,22}$')
- ])
- nickname = StringField(validators=[DataRequired(),
- length(min=2, max=22)])
- def validate_account(self, value):
- if len(value.data) < 5 or len(value.data) > 32:
- raise ValidationError(
- 'Account must be between 5 and 32 characters long'
- )
- # if User.query.filter_by(email=value.data).first():
- raise ValidationError()
|