Python 是否有方法验证烧瓶中是否选中了一个复选框?

Python 是否有方法验证烧瓶中是否选中了一个复选框?,python,checkbox,jinja2,flask-wtforms,Python,Checkbox,Jinja2,Flask Wtforms,我正在尝试创建一个包含多个复选框的烧瓶表单。但是,我想确保用户在大约30个复选框中至少选中了一个复选框。可以在烧瓶里做吗 这是其中3个按钮的Python代码 button1 = BooleanField('button1') button2 = BooleanField('button2') button3 = BooleanField('button3') 这是其中3个按钮的Jinja2代码 {{ form.button1(class="form-checkbox-input") }} {{

我正在尝试创建一个包含多个复选框的烧瓶表单。但是,我想确保用户在大约30个复选框中至少选中了一个复选框。可以在烧瓶里做吗

这是其中3个按钮的Python代码

button1 = BooleanField('button1')
button2 = BooleanField('button2')
button3 = BooleanField('button3')
这是其中3个按钮的Jinja2代码

{{ form.button1(class="form-checkbox-input") }}
{{ form.button1.label(class="form-check-label") }}<br>
{{ form.button2(class="form-checkbox-input") }}
{{ form.button2.label(class="form-check-label") }}<br>
{{ form.button3(class="form-checkbox-input") }}
{{ form.button3.label(class="form-check-label") }}<br>
{{form.button1(class=“form checkbox input”)}
{{form.button1.label(class=“form check label”)}
{{form.button2(class=“form checkbox input”)} {{form.button2.label(class=“form check label”)}
{{form.button3(class=“form checkbox input”)} {{form.button3.label(class=“form check label”)}
这是一种相当低效的处理数组的方法(从您必须编写的内容的意义上讲,而不是代码的速度)。您可能需要考虑使用实际数组,例如(a):

然后,您可以使用它来检查一个或多个是否为真:

if any(buttonArray):
    atLeastOneTrue()
这样来处理每个真实元素:

for idx in range(len(buttonArray)):
    if buttonArray[idx]:
        print(f'button{idx + 1} is true')

(a) 请记住,我对Jinja2知之甚少,但如果您能在那个时候制作阵列,使其更高效,我也不会感到惊讶

if any(buttonArray):
    atLeastOneTrue()
for idx in range(len(buttonArray)):
    if buttonArray[idx]:
        print(f'button{idx + 1} is true')