WTF 在提交时仅验证令牌,而不验证字段



我使用Flask WTF和他们的令牌来防止跨站点攻击。 我的页面可以包含许多字段,其中一些字段不相关,并且不包含 POST 上的用户数据。 我为各个字段单独提交表单,但 Flask 会验证整个页面上的所有字段,而不仅仅是表单提交中的字段。 Flask 中是否有一个功能可以在提交时仅验证令牌,而不是整个页面上的所有字段,因为在验证后重定向回页面会在视觉上错误不相关的字段。

我知道我可以在 POST 之前使用脚本来禁用不相关的字段,但这种方法似乎过多。

谢谢 悬崖

您可以使用Optional验证器,这样空字段就不会返回任何错误,因为它们显然不是必需的。

您还可以挂钩到验证过程并编写自己的脚本,例如此代码段 http://flask.pocoo.org/snippets/64/

您可以使用定义多个表单,这些表单引用页面上的不同字段,具体取决于页面上提交的表单。

您可以使用此处 http://wtforms.readthedocs.io/en/latest/fields.html#the-field-base-class 定义的pre_validate函数,尽管我自己没有使用它。

最新更新