如何手动创建表单,然后在Flask wtform中对其进行验证?

rub*_*lex 6 python flask flask-wtforms

如何手动填写表格然后进行验证?

class TestForm(Form):
    name = StringField('name', validators=[InputRequired()])
    age = IntegerField('age', validators=[InputRequired()])
Run Code Online (Sandbox Code Playgroud)

我尝试使用任意数据构建表单并验证:

data = {'name': 'bob', 'age': 33}
tform = TestForm(name=data['name'], age=data['age'])
if tform.validate():
    print 'success!'
else:
    print tform.errors
Run Code Online (Sandbox Code Playgroud)

结果打印出错误:

{'age': [u'This field is required.']}
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为name即使我将他们都提供给了我的朋友,也没有抱怨TestForm。我究竟做错了什么?

小智 0

尝试这样做

data = {'name': 'bob', 'age': 33}
tform = TestForm()
tform.name.data = data['name']
tform.age.data = data['age']
if tform.validate():
    print 'success!'
else:
    print tform.errors
Run Code Online (Sandbox Code Playgroud)