在我的SQLFORM.grid的编辑/添加页面上我想获得进程中某些字段的值。如果此值与另一个字段(userid)组合已存在,则必须通知用户。
有什么建议吗?
答案 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"也是重复的。