4
我對WTForms validators.optional()有問題,因爲如果字段爲空(WTForms docs),它會停止驗證鏈。這意味着驗證不會繼續使用自定義函數,這可能會導致類型錯誤。WTForms validators.optional:繼續驗證空字段?
代碼示例:
class MyForm(form):
myfield = TextField('My Field', [validators.Optional()])
def validate_myfield(form, field):
field.data = unicode(field.data)
有什麼辦法或變通方法繼續驗證鏈即使可選內容是空的,也許使用custom validators?
如果我以錯誤的方式接近問題,提示正確的方向將有所幫助!
是否有一個原因,你不能只在可選的驗證器列表中放置自定義驗證器? (驗證器按順序評估) – dagoof 2011-04-01 14:10:46
您的評論幫助,使其成爲答案,以便我可以選擇它。 – lecodesportif 2011-04-01 15:16:52
出於興趣,如果該字段爲空,爲什麼還需要繼續驗證?通常情況下,只能用兩種方式對空值作出反應,要麼是錯誤(不是可選的),要麼是不是錯誤(是可選的),而是以某種不變的方式處理它(因爲值始終相同)。如果您遇到類型錯誤,您是否試圖在驗證器中執行某些並不屬於該驗證器的操作?我不熟悉WTForms,但顯然你可以創建自定義字段,它也可以處理任何自定義分析需求。 – 2011-04-01 16:01:03