WTForm を使用して、javascript モデル (ノックアウトで入力) から直接送信するフォームを検証しています。私のフォームには、動的に追加/削除できる銀行口座のリストがあります。Python側では、次のようなものがあります:
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.']}
エラーを正しいアカウントにリンクするにはどうすればよいですか?
EDIT : 最後に行った方法は、getErrors メソッドを InformationForm クラスに追加したことです。これは、値が各アカウント エラーである各アカウントの一意の ID によってインデックス付けされた辞書を作成します。次に、それを json としてアプリケーションに返します。「自然な」解決策がある場合に備えて、質問を開いたままにします...