web2py SQLFORM.grid()获取进程的字段值

时间:2015-01-28 14:22:59

标签: sql forms grid web2py

在我的SQLFORM.grid的编辑/添加页面上我想获得进程中某些字段的值。如果此值与另一个字段(userid)组合已存在,则必须通知用户。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您可以简单地为其中一个字段定义验证器,这样当其他字段也是重复字段时它不允许重复,然后让标准表单验证过程处理所有内容:

db.define_table('mytable',
    Field('userid', 'reference auth_user'),
    Field('otherfield',
          requires=IS_NOT_IN_DB(db(db.mytable.userid == request.vars.userid),
                                'mytable.otherfield')))

每当提交表单时,IS_NOT_IN_DB验证程序将返回错误,如果" otherfield"在记录集中重复,其中" userid"也是重复的。