2013-01-13 39 views
5

我正在使用Flask和FlaForms-FlaForms,並且正在編寫一個管理頁面,以便可以更新用戶的值 - 包括密碼。什麼是正確的方式來選擇需要使用Flask-WTForms的字段?

我使用的是我用於註冊的相同表單頁面,但由於密碼不需要更新,所以我不想要求它。用Flask-WTForms做這件事的正確方法是什麼?

我有我的UserFormforms.py,我想製作一個自定義的驗證,並且有一個文件級require_password選項,將覆蓋默認檢查。我對WTForms相當陌生,對Flask有點新鮮。

回答

4

該解決方案似乎做我想要的東西:

forms.py

from flask.ext.wtf import Optional 

def make_optional(field): 
    field.validators.insert(0, Optional()) 

#Rest of code here... 

然後我燒瓶端點裏面我可以打電話:

user_form = UserForm() 
forms.make_optional(user_form.password) 
if user_form.validate_on_submit(): 
    #Go on your merry way! 

這似乎做我想要的 - 保留所有其他驗證(例如確認),如果沒有,則忽略任何內容密碼存在。

+0

我得到「ImportError:No module named flask.ext.wtf.Optional」 –

+1

@vivi您可以嘗試「從wtforms.validators import Optional」以查看它是否適合您。 – iChux

相關問題