我想禁止用戶能夠提交重複的網址到數據庫中。web2py:SQLFORM網址重複驗證
現在我的做法是:
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」,如果有的話。通過這種方式,數據庫中的網址都沒有「http」/「https」。但是我不知道如何在調用SQLFORM()。process()之前編輯用戶輸入。
現在我的代碼是
url_form=SQLFORM(db.url).process()
任何想法?
謝謝!
謝謝!有用。我已經看過幾次lambda,但我從來沒有真正理解它是如何工作的。 – fuiiii