我有一个窗体,其中在视图中动态添加了一些整数字段,这些字段供用户从1-N排名。我在弄清楚如何编写一个可以确保到达字段field.data具有唯一值并且从1到N的验证器时遇到了麻烦。
我已经想出了如何根据wtforms的文档向表单中动态添加字段,但是我想像这个问题一样相互验证它们,但我还没有弄清楚如何正确地引用覆盖的动态字段validate
功能。
如何在验证器中引用表单实例中的动态字段?在上面链接的问题中,他们这样做:
for field in [self.select1, self.select2, self.select3]:
但是由于我是动态添加这些字段的,setattr
所以我不知道这些字段的名称。我尝试将一个列表变量添加到表单中,并在添加动态字段时追加到该列表中,但是它们显示为:
<UnboundField(IntegerField, ('first',), {'validators': [<wtforms.validators.DataRequired object at 0x7ff75a6d7390>]})>
如果我像select1
上面的示例一样引用一个字段,则不仅仅是IntegerFields :
<wtforms.fields.core.IntegerField object at 0x7fac1bd54910>
如何将动态添加到表单中的这些整数字段一起引用和验证?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句