Flask表单验证组件WTForms

本文详细介绍了如何在Flask应用中使用WTForms进行表单验证和操作,涵盖了从安装到验证器的使用,包括StringField、FileField、TextAreaField、SelectField等字段类型,以及自定义验证和Meta的理解,还探讨了钩子函数在处理表单数据中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装

pip install wtforms

Flask 表单操作库 flask_WTF flask_WTForms
Flask 之 flask-SQLAlchemy 的使用
使用 WTForms 进行表单验证

1.1、wtforms源码执行流程

在这里插入图片描述

二、简单的使用

# 第一中使用方法
from wtforms import Form, BooleanField,TextField,PasswordField,validators
class RegistrationForm(Form): # 定义的 form 表单类必须继承 Form
	username = TextField('Username', [validators.Length(min=4, max=25)],default='123')
	email = TextField('Email Address', [validators.Length(min=6, max=35)])
	password = PasswordField('New Password', [
		validators.Required(),
		validators.EqualTo('confirm', message='Passwords must match')
	])
	confirm = PasswordField('Repeat Password')
	accept_tos = BooleanField('I accept the TOS', [validators.Required()])
# 第二种使用方法
from wtforms.fields import core # 核心功能
from wtforms.fields import html5 # html5标签
from wtforms.fields import simple # 简单使用
from wtforms import Form
from wtforms import validators
from wtforms import widgets
class RegistrationForm(Form):
	username = simple.StringField(
		label='用户名',
		validators=[
			Myvalidators(message="用户名必须是haiyan"),#也可以自定义正则
			validators.DataRequired(message="用户名不能为空"),
			validators.Length(max=8,min=3,message="用户名长度必须大于%(max)d且小于%(min)d")
		],
		widget=widgets.TextInput(),
		render_kw={
   
   'style':'font-size:12px;','class':'user'},
		default='123',
	)
	password = simple.PasswordField(
		label='密码',
		validators=[
			validators.DataRequired(message="密码不能为空"),
			validators.Length(max=8,min=3,message="密码长度必须大于%(max)d且小于%(min)d"),
			validators.Regexp(regex="\d+",message="密码必须是数字"),
		],
		widget=widgets.PasswordInput()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值