繁体   English   中英

wtforms FieldList &&验证出错

[英]Something wrong with wtforms FieldList && validation

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祖先块中的块会将所有非int放入process_errors属性中,并且明确禁止该类允许您使用有效数据填充数据。 我相信您仍然可以在raw_data属性中获取所需的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM