原文出处:
a. 基本使用
1 class RegisterForm(Form): 2 username = StringField(max_length=32, 3 min_length=6, 4 error={'required': '用户名不能为空', 5 'min_length': '用户名不能少于6位', 6 'max_length': '用户名不能超过32位'}) 7 8 password = StringField(max_length=32, 9 min_length=6, 10 error={'required': '密码不能为空'}, 11 widget=InputPassword()) 12 13 gender = IntegerField(error={'required': '请选择性别', 14 'invalid': '性别必须为数字'}, 15 widget=InputRadio(text_value_list=[{'value': 1, 'text': '男', }, 16 {'value': 2, 'text': '女', }], 17 checked_value=2)) 18 19 age = IntegerField(max_value=500, 20 min_value=0, 21 error={'required': '年龄不能为空', 22 'invalid': '年龄必须为数字', 23 'min_value': '年龄不能小于0', 24 'max_value': '年龄不能大于500'}) 25 26 email = EmailField(error={'required': '邮箱不能为空', 27 'invalid': '邮箱格式错误'}) 28 29 city = IntegerField(error={'required': '城市选项不能为空', 'invalid': '城市选项必须为数字'}, 30 widget=SingleSelect(text_value_list=[{'value': 1, 'text': '上海'}, 31 {'value': 2, 'text': '北京'}, 32 {'value': 3, 'text': '广州'}]) 33 ) 34 protocol = IntegerField(error={'required': '请选择协议', 'invalid': '协议格式错误'}, 35 widget=InputSingleCheckBox(attr={'value': 1})) 36 37 memo = StringField(required=False, 38 max_length=150, 39 error={'invalid': '备注格式错误', 'max_length': '备注最大长度为150字'}, 40 widget=TextArea())
b. 多选checkbox
1 class MultiCheckBoxForm(Form): 2 favor_str_val = StringListField(error={'required': '请选择爱好', 'invalid': '选择爱好格式错误'}, 3 widget=InputMultiCheckBox(text_value_list=[{'value': '1', 'text': '篮球', }, 4 {'value': '2', 'text': '足球', }, 5 {'value': '3', 'text': '乒乓球', }, 6 {'value': '4', 'text': '羽毛球'}, ])) 7 8 favor_str_val_default = StringListField(error={'required': '请选择爱好', 'invalid': '选择爱好格式错误'}, 9 widget=InputMultiCheckBox(text_value_list=[{'value': '1', 'text': '篮球', }, 10 {'value': '2', 'text': '足球', }, 11 {'value': '3', 'text': '乒乓球', }, 12 {'value': '4', 'text': '羽毛球'}, ], 13 checked_value_list=['1', '4'])) 14 15 favor_int_val = IntegerListField(error={'required': '请选择爱好', 'invalid': '选择爱好格式错误'}, 16 widget=InputMultiCheckBox(text_value_list=[{'value': 1, 'text': '篮球', }, 17 {'value': 2, 'text': '足球', }, 18 {'value': 3, 'text': '乒乓球', }, 19 {'value': 4, 'text': '羽毛球'}, ])) 20 21 favor_int_val_default = IntegerListField(error={'required': '请选择爱好', 'invalid': '选择爱好格式错误'}, 22 widget=InputMultiCheckBox(text_value_list=[{'value': 1, 'text': '篮球', }, 23 {'value': 2, 'text': '足球', }, 24 {'value': 3, 'text': '乒乓球', }, 25 {'value': 4, 'text': '羽毛球'}, ], 26 checked_value_list=[2, ]))
c、多选select
1 class MultiSelectForm(Form): 2 select_str_val = StringListField(error={'required': '请选择爱好', 'invalid': '选择爱好格式错误'}, 3 widget=MultiSelect(text_value_list=[{'value': '1', 'text': '篮球', }, 4 {'value': '2', 'text': '足球', }, 5 {'value': '3', 'text': '乒乓球', }, 6 {'value': '4', 'text': '羽毛球'}, ])) 7 8 select_str_val_default = StringListField(error={'required': '请选择爱好', 'invalid': '选择爱好格式错误'}, 9 widget=MultiSelect(text_value_list=[{'value': '1', 'text': '篮球', }, 10 {'value': '2', 'text': '足球', }, 11 {'value': '3', 'text': '乒乓球', }, 12 {'value': '4', 'text': '羽毛球'}, ], 13 selected_value_list=['1', '3'])) 14 15 select_int_val = IntegerListField(error={'required': '请选择爱好', 'invalid': '选择爱好格式错误'}, 16 widget=MultiSelect(text_value_list=[{'value': 1, 'text': '篮球', }, 17 {'value': 2, 'text': '足球', }, 18 {'value': 3, 'text': '乒乓球', }, 19 {'value': 4, 'text': '羽毛球'}, ])) 20 21 select_int_val_default = IntegerListField(error={'required': '请选择爱好', 'invalid': '选择爱好格式错误'}, 22 widget=MultiSelect(text_value_list=[{'value': 1, 'text': '篮球', }, 23 {'value': 2, 'text': '足球', }, 24 {'value': 3, 'text': '乒乓球', }, 25 {'value': 4, 'text': '羽毛球'}, ], 26 selected_value_list=[2]))
d. 动态select选项
1 class DynamicSelectForm(Form): 2 city = IntegerField(error={'required': '年龄不能为空', 'invalid': '年龄必须为数字'}, 3 widget=SingleSelect(text_value_list=[{'value': 1, 'text': '上海'}, 4 {'value': 2, 'text': '北京'}, 5 {'value': 3, 'text': '广州'}]) 6 ) 7 8 multi_favor = IntegerListField(error={'required': '请选择爱好', 'invalid': '选择爱好格式错误'}, 9 widget=MultiSelect(text_value_list=[{'value': 1, 'text': '篮球', }, 10 {'value': 2, 'text': '足球', }, 11 {'value': 3, 'text': '乒乓球', }, 12 {'value': 4, 'text': '羽毛球'}, ])) 13 14 def __init__(self, *args, **kwargs): 15 super(DynamicSelectForm, self).__init__(*args, **kwargs) 16 17 # 获取数据库中的最新数据并显示在页面上(每次创建对象都执行一次数据库操作来获取最新数据) 18 self.city.widget.text_value_list = [{'value': 1, 'text': '上海'}, 19 {'value': 2, 'text': '北京'}, 20 {'value': 3, 'text': '南京'}, 21 {'value': 4, 'text': '广州'}] 22 23 self.multi_favor.widget.text_value_list = [{'value': 1, 'text': '篮球'}, 24 {'value': 2, 'text': '足球'}, 25 {'value': 3, 'text': '乒乓球'}, 26 {'value': 4, 'text': '羽毛球'}, 27 {'value': 5, 'text': '玻璃球'}]
您可能感兴趣的文章:
如对本文有疑问, 点击进行留言回复!!
相关文章:
-
<?php//方法,参数为路径function dir_size($dir){ //@放在首位,起到... [阅读全文]
-
DM数据库:dm.ini参数(五)预先装载表、客户端缓存、REDO 日志、事务相关参数
2.8 预先装载表相关参数2.8.1 LOAD_TABLE缺省值: 空串属性: 手动说明: 在服务器启动时预先装... [阅读全文] -
-
<?php/*高并发的秒杀设计php+mysql+redis* Author: lms &... [阅读全文]
-
GPS平台、网站建设、软件开发、系统运维,找森大网络科技!https://cnsendnet.taobao.co... [阅读全文]
-
php+mysql获取7天、30天的统计数据,没有数值的补充0 By勤勤学长
需求:查找近7天的订单数量、订单金额以及他们的日期。方法1:查到的大部分是这种写法。需要修改的地方qqxz_or... [阅读全文] -
做了个抖音解析视频的小程序记录一下:抖音分享链接https://v.douyin.com/JLFcD7V (链接... [阅读全文]
-
第一章 第六小节Duilib的WindowImplBase基类OnCreate函数中调用AttachDialog函数
经过前面的小节部分,已经讲解了大部分的OnCreate函数,最后一个关键函数是AttachDialog函数,... [阅读全文] -
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074题意:给出... [阅读全文]
-
之前毕业设计写过的用在FPGA上的BH1750温湿度传感器verilog驱动代码,亲测可用,有什么问题欢迎留言。... [阅读全文]
网友评论