在编写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方法。有没有办法做到这一点?
答案 0 :(得分:4)
更简单的方法是将request
对象传递给表单并将其存储为属性。
您可以通过__init__
方法或my_form.request = request
执行此操作。
然后,您validate_name
方法可以访问request
处的self.request
。