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

标签 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 方法。有什么办法吗?

最佳答案

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

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

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

关于python - WTForms:在编写自定义验证时传递额外的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14241330/

相关文章:

python - pandas GroupBy 具有 NaN(缺失)值的列

python - Python 中的 MySQL 批量更新语句

python - 获取文本标题

python - 正则表达式 - `^`、 `$` 和 `\A`、 `\Z` 之间的差异

python - 存储上传的图像?

jinja2 - 如何使用Jinja2迭代WTForms FieldList

python - 用 Pandas 从excel中读取大量数据

flask - 如何忽略 Flask-wtf 中的字段验证?

javascript - 如何使用 flask-wtf 在 html select 的 onChange 上传递参数

python - WTForms 表单已更改