0

我正在编写更改密码表单,我想将原始密码传递给表单以进行验证,但唯一的方法是将其设为隐藏字段并将其与其余数据一起传递。我显然不想这样做,我宁愿只是从视图中将它传递给表单构造函数,但如果它没有与 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 否则为空。

4

1 回答 1

0

对于那些熟悉 formencode 的“状态”变量的人,我通过子类化 Form 并添加一个带有信息的状态变量来帮助验证来解决这个问题。

于 2012-07-14T01:31:39.167 回答