wtf validate on仅提交令牌,而不是字段

时间:2018-05-18 17:18:37

标签: flask flask-wtforms wtforms

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

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

谢谢, 崖

1 个答案:

答案 0 :(得分:1)

您可以使用Optional验证程序,因此空字段不会返回任何错误,因为它们并非特别需要。

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

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

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