今天在验证多个复选框时,我遇到了 Pylons/Formencode 的一些问题。作为背景知识,我的 Mako 模板中有这样的内容:
<input type="checkbox" name="Project" value="1">Project 1</input>
<input type="checkbox" name="Project" value="2">Project 2</input>
<input type="checkbox" name="Project" value="3">Project 3</input>
<input type="checkbox" name="Project" value="4">Project 4</input>
<input type="checkbox" name="Project" value="5">Project 5</input>
在我的验证模式中,我有这样的东西(请原谅任何错误 - 我面前没有确切的代码):
Project = formencode.foreach.ForEach(formencode.validators.Int())
我原本希望得到一个已检查项目的列表(听起来很合理,对吗?),但我得到了一个包含单个项目的列表,尽管所有框都已选中。我这样做是错的还是我想要找回的东西甚至可能?我已经为每个复选框项目编写了一个关于它的 hack,将选中的项目附加到一个数组,然后以 JSON 格式发回 - 这很丑陋而且很痛苦,因为如果验证失败,我必须自己重新填充所有字段。
有人有想法么?