Python:Flask+wtf+csrf单表单及多表单验证

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值