我有一个看起来像这样的表格:
<form method="post">
<input id="1" name="people" type="checkbox" value="1"/>
<label for="1">Paul</label>
<input id="2" name="people" type="checkbox" value="2"/>
<label for="2">Elizabeth</label>
<input type="submit"/>
</form>
提交此表单时,我想验证用户是否至少检查了一个人。请注意,我不想使用name"person-0"
and name="person-1"
,我实际上想使用name="people"
用作我的对象的名称。
我将使用这样的东西创建我的表单......
class MyForm(Form):
some_field = fields.TextField(u'Some Field', [validators.required()])
some_option = fields.BooleanField(u'Some Option')
people = # What to put here?
那么,我可以将什么类型的字段用于“人员”字段?
我不认为我可以使用 FieldList,因为那会期望名称是person-0
而person-1
不是people
,这是我不想要的。我不能使用 SelectMultipleField 因为这似乎需要一个选择列表,而我不知道选择列表(它是由第 3 方动态提供给我的)。
我只使用表单来验证生成的 HTML 发布数据,而不是渲染 HTML,所以不用担心。
我将发布我所做的作为答案,即使用自定义字段。但我想知道是否有某种方法可以使用内置字段在 wtforms 中执行此操作。
谢谢