python测试开发django-104.form表单正则校验(RegexValidator)
前言
校验用户名只能有字母数字下划线组成
正则校验(RegexValidator)
导入 RegexValidator模块
from django.core.exceptions import ValidationError
from django.core.validators import RegexValidator
# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/
class LoginForm(forms.Form):
"""登录Form表单"""
username = forms.CharField(max_length=20,
min_length=3,
required=True,
label="用户名",
initial='yo_1', # 默认值
help_text='长度为3到20个字符!', # 帮助信息(在标签旁边显示)
validators=[RegexValidator(r'^(\w)+$', '用户名只能有字母数字下划线组成!')],
error_messages={
'required': '用户名不能为空',
'min_length': '用户名不能少于3位字符',
'max_length': '用户名不能大于20位字符',
'invalid': '参数不合法'
})
password = forms.CharField(max_length=16,
min_length=6,
required=True,
label="密码",
widget=forms.PasswordInput,
error_messages={
'required': '密码不能为空',
'min_length': '密码不能少于6位字符',
'max_length': '密码不能大于16位字符',
})
initial 默认值
initial 设置输入框默认值,相当于input标签value属性
help_text
显示输入框帮助信息,在标签右侧显示,模板中引用{{ field.help_text }}
<form action="" method="POST" id="login-form">
{% csrf_token %}
{% for field in form_obj %}
<p>
{{ field.label_tag }}
{{ field }} {{ field.help_text }}
{{ field.errors }}
</p>
{% endfor %}
<p>
{{ error_msg }}
</p>
<p>
<input type="submit" value="登录" >
</p>
</form>
在html显示效果
正则校验
校验用户名只能有字母数字下划线组成,当输入其它字符的时候,提示:参数不合法
error_messages中有'invalid',会优先显示这里的提示
validators=[RegexValidator(r'^(\w)+$', '用户名只能有字母数字下划线组成!')],
error_messages={
'required': '用户名不能为空',
'min_length': '用户名不能少于3位字符',
'max_length': '用户名不能大于20位字符'
}
去掉'invalid'后,显示validators里面的提示
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2018-07-06 python接口自动化24-有token的接口项目使用unittest框架设计
2018-07-06 python笔记21-列表生成式
2017-07-06 Fiddler抓包11-HTTPS证书Actions无法导出问题