我的一个窗体字段当前有问题。用户必须选择或键入有效的类别(这是预定义的)。为了检查输入是否有效,我创建了一个自定义验证:
class CategoryAddTextField(TextField):
def process_formdata(self, valuelist):
if len(valuelist[0].lower().strip()) > 0:
if valuelist[0].lower().strip() not in cat_list:
raise ValidationError("Diese Branche existiert nicht")
在cat_list
中,我有所有有效选项(3300~)cat_list
是list
。你知道吗
输入字段如下:
category_add = CategoryAddTextField(u'Kategorie wählen')
如果输入错误,则一切正常,表单不会提交并显示正确的错误,但如果输入正确,则不会存储表单数据。我测试过了,结果是None
如果我使用print form.category_add.data
,它告诉我它是None
如果我使用普通的TextField
,它可以正常工作。你知道吗
好吧,看来这两者之间有区别:
第一个版本变成
None
,而第二个版本变成empty string
使用第二个版本修复了我的问题:
我还添加了以下内容以确保输入数据:
在主.py用
request.form["category_add"].lower().strip()
添加到数据库:相关问题 更多 >
编程相关推荐