python - WTforms QuerySelectField , SelectField , MultipleSelectField 似乎不适用于 validate_on_submit()
问题描述
所以我有一个带有 QuerySelect field 和 String fields 的表单。当我尝试提交它并在服务器端验证它时,它就不会发生。POST 请求使用正确的数据进行,但它从未进入 if form.validate_on_submit() 。我为此发疯,非常感谢您的帮助。
如果我删除 SelectFields,表单也会验证。在下面的示例中,我使用的是 MultipleSeletField
这是代码:
这是我的路线逻辑:
应用程序.py
@app.route('/contacts' , methods=['GET' , 'POST'])
@login_required
def contacts():
'''
Add contacts to database with option to export
and import data onto Peep.
'''
user = current_user.username
form = login_model.AddContactForm()
form_add_group = login_model.AddGroupForm()
form_add_group.contact.choices = [ (r.id , r.company_name ) for r in login_model.AddContact.query.order_by('company_name') ]
if form_add_group.validate_on_submit():
print("going in")
return "{}{}".format(form_add_group.group.data , form_add_group.contact.data)
mssg = ""
contact_list = db.session.query(login_model.AddContact).all()
return render_template('contacts.html' , user = user ,form = form , error_mssg_a ="Testing the error run" ,
contact_list = contact_list , form_add_group=form_add_group) , 200
模型.py:
class AddGroupForm(FlaskForm):
group = QuerySelectField('group' , allow_blank = False , get_label = 'group' , query_factory = group_choice)
contact= SelectMultipleField('contact' )
这是模板:
<form action="/contacts" method="POST">
{{form_add_group.hidden_tag()}}
<div class="select control">
{{form_add_group.group}}
</div>
<div class="select control is-multiple" width="8">
{{form_add_group.contact}}
</div>
<button class="button is-black"><i class="icon-btn" data-feather="check-square"></i>Create Group</button>
</form>
解决方案
推荐阅读
- regex - 正则表达式中负前瞻运算符的问题
- c++ - Linux 交叉编译失败,链接期间未定义对 `__emutls_v._ZSt11__once_call' 的引用
- c# - 文件被 Visual Studio 2019 锁定
- c# - 如何将 jquery 中的值插入剔除数据绑定行?
- c# - 如何使foreach循环在异常时跳过该项目
- html - CSS Marquee:多个段落重叠
- c# - 在方法中模拟对象
- php - 设置 wp-cli 的问题( bash: php: command not found )
- python - 在站点部署到 pythonanywhere 服务器后使用 url 进行调试
- python-3.x - 如何使用python3像这个网站一样卷曲登录?