WTForms:在编写自定义验证时传递额外的参数

时间:2013-01-09 16:05:55

标签: python wtforms

在编写custom validation for 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方法。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:4)

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

您可以通过__init__方法或my_form.request = request执行此操作。

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