1

在为 wtforms编写自定义验证时,是否可以传递额外的参数(如请求)

例如

class MyForm(Form):
  name = TextField('Name', [Required()])

  def validate_name(form, field):
    if len(field.data) > 50:
        raise ValidationError('Name must be less than 50 characters')

如果可能的话,我需要将请求对象(或非表单对象)传递给 validate_name 方法。有什么办法吗?

4

1 回答 1

5

更简单的方法是将request对象传递给您的表单并将其存储为属性。

你可以通过__init__方法来做到这一点,或者通过做my_form.request = request

然后,您validate_name的方法可以访问requestat self.request

于 2013-01-09T16:57:45.633 回答