Python Flask Wtform同时调用FieldList和FormField validate()会导致错误
所以我有这个密码Python Flask Wtform同时调用FieldList和FormField validate()会导致错误,python,validation,flask,wtforms,flask-wtforms,Python,Validation,Flask,Wtforms,Flask Wtforms,所以我有这个密码 class ItemPurchaseForm(wtforms.Form): purchase_price = IntegerField(label='Purchase Price: ', validators=[InputRequired()]) def validate(self, *args, **kwargs): if not super().validate():
class ItemPurchaseForm(wtforms.Form):
purchase_price = IntegerField(label='Purchase Price: ',
validators=[InputRequired()])
def validate(self, *args, **kwargs):
if not super().validate():
self.purchase_price.errors += (super().errors,)
return False
#.... do other validations....
class PurchaseTransactionForm(Form):
yyyy = IntegerField(label='Transaction Year',
validators=[InputRequired()])
transaction_items = FieldList(FormField(ItemPurchaseForm),
label='Purchased items',
min_entries=1)
submit_button = SubmitField(label='Add new purchase transaction')
def validate(self, **kwargs):
if not super().validate():
self.yyyy.errors += (super().errors, 'super not validated')
return False
#.... do some other validation
正如您所看到的,有一个字段列表(FormField(…)
,所以我按照它修复了之前由CRSF字段引起的错误。现在如果我在itemparchaseform
中有def validate()
,它会给我错误,错误就是这样:{'transaction\u items':[{}]}
如果我从
ItemPurhcaseForm
中删除def validate()
,则一切正常。有什么原因会导致错误吗?我确实读过这篇文章,那么这是否意味着itemparchaseform
是一个子字段?我知道这个问题,并且已经解决了这个问题。我只是忘了在ItemPurchaseForm validate()