Validation WTForms SelectMultipleField:禁用验证

Validation WTForms SelectMultipleField:禁用验证,validation,python-3.x,wtforms,Validation,Python 3.x,Wtforms,我有一个SelectMultipleField,它在运行时使用JavaScript填充/修改。我的问题是,这违反了验证程序,因此在提交时调用form.validate总是失败 SelectMultipleField('Test', coerce=int) 我已尝试设置不执行任何操作的自定义验证器: def dummy_validator(form, field): print("check: "+str(field.data)) SelectMultipleField('Test',

我有一个SelectMultipleField,它在运行时使用JavaScript填充/修改。我的问题是,这违反了验证程序,因此在提交时调用form.validate总是失败

SelectMultipleField('Test', coerce=int)
我已尝试设置不执行任何操作的自定义验证器:

def dummy_validator(form, field):
    print("check: "+str(field.data))

SelectMultipleField('Test', coerce=int, [dummy_validator])
然而,这仍然是失败的。例如,我得到的错误消息“7”不是此字段的有效选项

要使SelectMultipleField通过表单启动的验证过程,需要做什么。提交时验证?

问题在于预验证,它总是在执行任何指定的验证程序之前执行。因此,我问题中的虚拟验证器不会改变这种行为

改变这一点的唯一方法是实现从SelectMultipleField派生的自己的字段:

之后,可以直接使用表单中的字段:

NoValidationSelectMultipleField('Test', coerce=int)

在一个非常类似的问题中,我用jquery在一个隐藏字段中动态创建选项,表单也出现了同样的错误。这是否意味着我需要在表单之后编写自定义验证。在提交时验证?那么这是wtforms中的错误吗?我也不得不求助于这种技巧。。。。
NoValidationSelectMultipleField('Test', coerce=int)