wtforms FieldList和&验证有问题...
应该说该字段必须具有Int值,而不是必填字段
为什么f.data具有[None,2,None]值,而不是['def',2,'abc']?
from webob.multidict import MultiDict
from wtforms import Form
from wtforms import FieldList, IntegerField
from wtforms import validators
class SearchForm(Form):
locality_id = FieldList(IntegerField(u'Locality', [validators.Required()]))
d = MultiDict([('locality_id-0', 'def'), ('locality_id-1', 2), ('locality_id-2', 'abc')])
f = SearchForm(d)
print f.validate()
print f.errors
print f.data
print f.locality_id.data
%python form_test.py
假
{'locality_id':[[u'此字段为必填。'],[u'此字段为必填。']]
{'locality_id':[无,2,无]}
[无,2,无]
最佳答案
看起来在try... except
祖先中有一个IntegerField
块会将所有非整数放入process_errors
属性中,并且明确禁止该类允许您使用有效数据以外的任何其他数据填充数据。我相信您仍然可以在raw_data
属性中获得所需的值。
关于python - wtforms FieldList &&验证出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6395520/