有没有办法将额外的字段传递给带有WTForms的表单?

时间:2012-07-02 23:22:02

标签: python wtforms

我正在编写一个更改密码表单,我想将原始密码传递给表单以进行验证,但唯一的方法是将其设置为隐藏字段并将其传递给其余部分。数据。我显然不想那样做,我宁愿把它从视图中传递给表单构造函数,但是如果它没有传入formdata那么那就不行了。

class MyForm(Form):
    ...
    original_password = HiddenField()
    ...

    def validate_current_password(form, field):
        if field.data != form.original_password.data:
            ERROR

form = MyForm(request.POST, original_password=password)除非request.POST为空,否则不起作用,或者除非我实际使用表单呈现并提交原始密码。 form.original_password.data否则为空。

1 个答案:

答案 0 :(得分:0)

对于那些熟悉formencode的“状态”变量的人,我通过继承Form并使用信息添加状态变量来帮助验证来解决这个问题。