我有一个使用SQLForm.factory设计的自定义表单。我在其中创建了一个下拉列表,如下所示:
Field('method',requires=IS_IN_SET([(1,'Method1'),(2,'Method2'),(3,'Method3')],zero='Select'))
当我没有从中选择任何选项时,它会将错误显示为“不允许值”。我不希望它成为必填字段。我尝试将 Field 类的 init 方法的必需参数设置为 False 但是它不工作。请告诉我如何实现这一目标?
答案 0 :(得分:0)
requires=IS_EMPTY_OR(IS_IN_SET(
[(1,'Method1'), (2,'Method2'), (3,'Method3')], zero='Select'))
注意,required
的{{1}}参数在插入时由DAL强制执行,并导致失败时抛出异常。 Field()
属性包括在requires
提交期间处理的一个或多个验证程序的列表 - 违反验证程序会导致错误显示在表单上,而不是Python异常。