前言校验用户名只能有字母数字下划线组成 正则校验(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属性
![](http://image109.360doc.com/DownloadImg/2021/07/0706/225772986_1_20210707065756629_wm) 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显示效果
![](http://image109.360doc.com/DownloadImg/2021/07/0706/225772986_2_2021070706575751_wm) 正则校验校验用户名只能有字母数字下划线组成,当输入其它字符的时候,提示:参数不合法 ![](http://image109.360doc.com/DownloadImg/2021/07/0706/225772986_3_20210707065757411_wm) error_messages中有’invalid’,会优先显示这里的提示
validators=[RegexValidator(r'^(\w)+$', '用户名只能有字母数字下划线组成!')], error_messages={ 'required': '用户名不能为空', 'min_length': '用户名不能少于3位字符', 'max_length': '用户名不能大于20位字符' } 去掉’invalid’后,显示validators里面的提示
![](http://image109.360doc.com/DownloadImg/2021/07/0706/225772986_4_20210707065757786_wm)
2021年第八期《python接口web自动化+测试开发》7.17号开学(课程全面升级!) 加量不加价(新增postman, 赠送selenium和python基础2个课)
本期上课时间:7月17号-10月16号,每周六、周日晚上20:30-22:30
|