gpt4 book ai didi

validation - web2py - 从 IS_IN_DB 验证器中删除空白选项

转载 作者:行者123 更新时间:2023-12-02 00:16:15 24 4
gpt4 key购买 nike

在 web2py 中,假设我通过添加一个名为“agent_code”的字段修改了默认的 auth_user 表。该字段应包含来自另一个表的值:

auth_table = db.define_table(
auth.settings.table_user_name,
Field('first_name', length=128, default=''),
...more fields here...,
Field('auth_age_cod', length=512,default=None))

auth_table.auth_age_cod.requires = \
IS_IN_DB(db, db.agea.agea_cod,
'%(agea_cod)s - %(agea_name)s',
error_message='Agent not in DB')

我希望用户能够在注册期间将自己标识为代理。

用户注册表现在显示下拉框以允许选择代理,但在开始时包含一个空白选项。由于某些原因,这在我们的系统中是 Not Acceptable 。

在调查验证器的源代码后,我发现 IS_IN_DB 验证器有一个名为“零”的参数。这默认设置为 ''(空字符串)并在下拉列表中创建一个空白选项。

因此,要删除空白选项,请将验证器更改为:

IS_IN_DB(db, db.agea.agea_cod,
'%(agea_cod)s - %(agea_name)s',
error_message='Agent not in DB',
zero=None)

最佳答案

您的问题不清楚,但如果您询问 IS_IN_DB 中的 zero 参数是否用于该目的,它就是。 web2py manual表示 IS_IN_DB 中的参数 zero 的工作方式类似于 IS_IN_SET

中的 zero

对于 IS_IN_SET,手册指出:zero 参数是可选的,它确定默认选择的选项的文本,一个不被接受的选项由 IS_IN_SET 验证器本身。如果您不想要“选择一个”选项,请设置 zero=None

关于validation - web2py - 从 IS_IN_DB 验证器中删除空白选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12955650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com