flask-表单验证
服务器端的表单验证用WTForms来实现
from wtforms import Form,StringField
from wtforms.validators import length,email,equal_to
class RegisterForm(Form):
username=StringField(validators=[length(min=3,max=20,message='用户名不得少于3个字符.不得大于20个字符.')])
emial=StringField(validators=[email(message='请输入正确的邮箱')])
password=StringField(validators=[length(min=6,max=20,message='密码不得少于6位,不得大于20位')])
confirm_pwd=StringField(validators=[equal_to(password,message='密码不一致')])
def validate_email(self, field): #自定义验证指定字段
email=field.data
#从数据库中查出每个已注册用户的邮箱.并去重之后.保存在exist_emails列表中
if email in exist_emails:
raise ValidationError("邮箱已被注册")
return True
字段类型
字段类型 | 描述 |
---|---|
StringField | 字符串类型 |
IntegerField | 整数类型 |
FloadField | 浮点类型 |
DecimalField | 定点类型 |
BooleanField | 布尔类型 |
DateTimeField | 日期时间类型 |
DateField | 日期类型 |
TimeField | 时间类型 |
FileField | 文件类型 |
WTForms提供了常见的表单字段验证器
验证器 | 描述 |
---|---|
length(min,max,message) | 验证字段长度是否在区间内.message保存错误信息 |
email() | 验证内容是否满足邮箱格式 |
equal_to(filedname,message) | 验证当前字段是否和另外一个字段值相等 |
ip_address(message) | 验证是否满足ip地址的规则 |
mac_address(message) | 验证是否满足mac地址的规则 |
number_range(min,max,message) | 验证数字是否在指定的范围内 |
optional(strip_whitespace) | 设置数据可以为空,并停止其他验证器的校验 |
input_required(message) | 验证是否为空 |
data_required(message) | 验证是否有效 |
url(message) | 验证是否满足url规则 |
any_of(values,message,values_formatter) | 验证是否是values中的一个 |
none_of(values,message,values_formatter) | 验证是否不是values中的一个 |
regexp(regex,flags,message) | 自己定义正则表达式规则验证 |
验证器名称都小写.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】