【发布时间】:2018-03-08 10:37:32
【问题描述】:
现在我正在用 Flask 构建一个 webapp,包括一些 WTForms。其中之一是人们可以从多个选项中进行选择的清单(因此是 SelectMultipleField)。现在我想确保人们只能选择最大数量的选项(比如 3 个选项中的 2 个),如果他们想选择更多,首先必须取消选择其他选项之一。我认为它可能需要做一些验证,但我真的不确定如何做到这一点......非常感谢任何帮助! 这是来自 forms.py 的代码
class MultiCheckboxField(SelectMultipleField):
option_widget = widgets.CheckboxInput()
widget = widgets.ListWidget(prefix_label = False)
class ChecklisteForm(FlaskForm):
list_of_files = ['politiek', 'economie', 'sport']
files = [(x, x) for x in list_of_files]
example = MultiCheckboxField('Label', choices=files)
submit = SubmitField('Wijzigen')
这是我的 html 模板中的代码
<form action="" method = "post">
{{ form.hidden_tag() }}
<div class="container-fluid">
<div class="row">
<div class="col-lg-12">
<div class="col-lg-4">
<div class="button-group">
<span class="kiezen_informatie">
<button type="button" class="btn btn-info btn-large dropdown-toggle" data-toggle="dropdown">Kies kategorie </span> <span class="caret"></span></button>
<ul class="dropdown-menu text-center">
<li><a href = "#">{{form.example(class = "list-unstyled")}}</a></li>
<li><a href = "#"> {{form.submit(class = "btn btn-info")}}</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
我认为这也可能与包含一些 javascript 有关?但如果有什么办法可以避免我会很高兴:)
【问题讨论】:
标签: javascript python html flask flask-wtforms