gpt4 book ai didi

python - WTForms 不验证 - 没有错误

转载 作者:行者123 更新时间:2023-12-02 00:30:58 25 4
gpt4 key购买 nike

我在 WTForms 库中遇到了一个奇怪的问题。为了进行测试,我创建了一个包含单个字段的表单:

class ArticleForm(Form):
content = TextField('Content')

它接收一个简单的字符串作为内容,现在我使用 form.validate() 并且它出于任何原因返回 False

我研究了 'FormField 对象的 validate() 方法。我发现如果错误列表的长度为零,则该字段返回 true。这对于我的测试来说是正确的,因为我没有收到任何错误。在 shell 中,我的字段验证按预期返回 True。

Form 对象中的 validate() 方法仅运行字段并调用其 validate() 方法,并且仅当其中一个字段被验证为错误。

因此,当我的字段经过验证时没有任何错误,我在代码中看不到 form.validate() 返回 False 的任何原因。

有什么想法吗?

最佳答案

在我看来,您只是向表单传递了错误的值。这就是您需要使用这样的形式:

from wtforms import Form, TextField # This is wtforms 0.6

class DummyPostData(dict):
"""
The form wants the getlist method - no problem.
"""
def getlist(self, key):
v = self[key]
if not isinstance(v, (list, tuple)):
v = [v]
return v

class ArticleForm(Form):
content = TextField('Content')

form = ArticleForm(DummyPostData({'content' : 'my content' }))
print form.validate()
#$ python ./wtf.py
#True

ps:如果能提供更明确的信息就更好了:代码示例和WTForms版本。

关于python - WTForms 不验证 - 没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4534115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com