我正在使用WTForm驗證直接從javascript模型(通過敲除填充)提交的表單。在我的表格中,我有一個可以動態添加/刪除的銀行賬戶列表。在Python端我有這樣的事情:將錯誤鏈接到WTForms FieldLists中的右側字段
class Account(Form):
acc_name = TextField('Account', [validators.Length(min=2, max=35)])
class InformationForm(Form):
account_list = FieldList(FormField(Account))
所收到的驗證JSON數據如下:
'account_list': [{'acc_name': 'aaaaa'}, {'acc_name': 'b'}]}
問題是後來當我確認我收到這樣的事情哪裏有無法知道列表中的哪個帳戶是錯誤的來源:
'account_list': [{'acc_name': [u'Field must be between 2 and 35 characters long.']}
我該如何將錯誤鏈接到正確的帳戶?
編輯:我做到了,到底該方式是我添加了一個getErrors方法我InformationForm類,它通過建立每個戶口所在值是每個帳戶的錯誤一個唯一的ID索引的dictionnary。然後我將它作爲json返回給我的應用程序。如果存在「自然」解決方案,我保持開放性...
你能提供一個鏈接到你的'getErrors'實現嗎?我不相信在WTForms中有這樣的方法。我希望它會返回一個錯誤列表,如'[None,[「第二個元素的第一個錯誤」,「第二個元素的第二個錯誤」],None]'。 – 2014-01-28 19:21:04
我爲此打開了一個[GitHub問題](https://github.com/wtforms/wtforms/issues/49)。 – 2014-01-28 19:25:45