Кажется, что словарь forms.errors отсортирован по имени поля, а не по порядку, в котором они объявлены в самой форме.
E.g.
class ProductForm(Form):
code = TextField('Code', validators=[Required()])
description = TextField('Description', validators=[Required(), Length(max=100)])
amount = DecimalField('Amount', validators=[Required(), NumberRange(min=0.00, max=1000000.00)])
vat_percentage = DecimalField('VAT %', validators=[Required(), NumberRange(min=0.00, max=100.00)])
inactive_date = DateField('Inactive date', validators=[Optional()])
Что создает form.errors, например:
{'amount': ['Amount is required'], 'code': ['Code is invalid.'],
'description': ['Description is required'], 'vat_percentage': ['VAT % is required']}
Что я хотел бы сделать, так это распечатать ошибки в том порядке, в котором они упорядочены в форме.
Это возможно?