现在我正在用Flask构建一个webapp,包括一些WTForms。其中之一是一个检查表,人们可以从多个选项中进行选择(因此有一个SelectMultipleField)。现在我想确保人们只能选择最大数量的选项(比如3个选项中的2个),如果他们想选择更多的选项,必须先取消选择其他选项中的一个。我想这可能与验证有关,但我真的不知道该怎么做…任何帮助都非常感谢! 这是我的代码表单.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模板中的代码
^{pr2}$我想这也可能与包含一些javascript有关?但如果有什么办法可以避免的话,我会很高兴的:)
当然,您可以在客户端用一些Javascript验证它,但是您也希望在服务器端验证它,以确保用户不会避免Javascript验证并提交不应该的数据
您可以在表单中定义自定义
validate
方法:在HTML模板中:
^{pr2}$相关问题 更多 >
编程相关推荐