forms表单代码:
import re
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, SubmitField, DateField, IntegerField
from wtforms.validators import DataRequired, ValidationError
# field为字段对象,适用于多表单
def phone_required(form, field):
"""自定义手机号的验证"""
# 强制验证用户名为手机号
username = field.data
pattern = r'^1[0-9]{10}$'
if not re.search(pattern, username):
raise ValidationError("请输入手机号")
return field
class LoginForm(FlaskForm):
"""登录表单的实现"""
username = StringField(label="用户名", default="admin")
# 使用自定义的表单验证phone_required-可使用多个表单
password = PasswordField(label="密码", validators=[phone_required])
submit = SubmitField("登录")
class RegisterForm(FlaskForm):
"""用户注册表单"""
# def __init__(self, csrf_enabled, *args, **kwargs):
# super().__init__(csrf_enabled=csrf_enabled, *args, **kwargs)
username = StringField(label="用户名")
password = PasswordField(label="密码", validators=[DataRequired("请输入密码")])
birth_date = DateField(label="生日")
age = IntegerField(label="年龄")
submit = Submit