0

我正在使用 SQLFORM.factory 创建一个自定义表单,如下所示:

searchform=SQLFORM.factory(
    Field('useraccount','integer',default=None),
    Field('group','unicode',default=None), 
    submit_button = 'Search')    

根据我的理解useraccount字段应该是整数类型,如果用户不提供这个值,我应该得到request.vars.useraccountNone。但它接受字符串值,如果用户不提供此值,我会在request.vars.useraccount中得到空字符串。

请建议我该怎么做才能实现这一目标。

谢谢你。

4

1 回答 1

1

在表单中,整数字段只是 CSS 类设置为“整数”的字符串输入,因此提交的值以及存储在其中的值request.vars都是字符串。处理表单时,字符串值将转换为整数字段的整数,因此您应该使用form.vars.useraccount而不是request.vars.useraccount. 您会发现,当字段form.vars.useraccountNone空时,提交值时为整数。

于 2013-09-05T14:21:59.700 回答