【发布时间】:2025-12-27 05:15:12
【问题描述】:
我想禁止用户向数据库提交重复的 url。
目前我的做法是:
db.url.URL.requires=[IS_URL(error_message='URL Error'),
IS_NOT_IN_DB(db, 'url.URL',error_message='Dupilcated URL')]
它涵盖了有“http”和没有“http”的情况。 例如,如果 www.123.com 已经在数据库中,则用户无法提交http://www.123.com。 但是这种方法不包括“https”的情况,即用户仍然可以提交https://www.123.com。
有没有办法防止这种重复?
我认为在调用 SQLFORM().process() 之前消除 URL 中的“http”/“https”(如果有)。这样,数据库中的url都没有“http”/“https”。但我不知道如何在调用 SQLFORM().process() 之前编辑用户输入。
现在我的代码是
url_form=SQLFORM(db.url).process()
有什么想法吗?
谢谢!
【问题讨论】:
标签: web2py