gpt4 book ai didi

WTForms-JSON 与使用 FormField 的可选嵌套

转载 作者:行者123 更新时间:2023-12-05 00:27:17 26 4
gpt4 key购买 nike

我正在使用 WTForms-JSON和处理嵌套表单。我想让内部表单可选,但如果存在内部表单,我希望它的字段是必需的。我遇到的问题是 FormField不接受验证器。

(虽然我使用的是 WTForms-JSON,但我相信这也适用于 vanilla WTForms。)

此代码有效但不符合我的要求:

class InnerForm(Form):
foo_id = IntegerField("Foo ID", [Required()])

class OuterForm(Form):
inner = FormField(InnerForm)

上面代码的问题在于 inner是隐式要求的。奇怪的是,虽然 validate()返回 Falseinner省略, errors是空的。

此代码不起作用:
class InnerForm(Form):
foo_id = IntegerField("Foo ID", [Required()])

class OuterForm(Form):
inner = FormField(InnerForm, "Inner", [Optional()])

后者产生此错误:
TypeError: FormField does not accept any validators. Instead, define them on the enclosed form.

我的问题是:我该如何制作 inner可选,但需要 foo_id如果 inner存在?

最佳答案

最简单的方法是包装FormField FieldList , 与 max_entries设置为 1。FieldList也支持验证器,但因为 min_entries默认情况下为 0,您不需要任何。唯一的烦恼是如果内部表单的数据可用,您将不得不解开它。

关于WTForms-JSON 与使用 FormField 的可选嵌套,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21032008/

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