如何允许在 WTForms 中禁用 SelectField?

How to allow a disabled SelectField in WTForms?

我正在制作一个表单,其中的字段根据之前的选择启用和禁用。但是,当我禁用 SelectField(意味着它未提交)时,验证因 "invalid choice" 而失败。我如何让它在未提交的情况下验证?

print(form.errors)
{'linkto': ['Not a valid choice']}
class BoardEditForm(FlaskForm):
...
    linkto = SelectField('Link to:', choices=[])
...

解决方案是在定义中使用 Optional 验证器,例如:

from wtforms.validators import Optional
class BoardEditForm(FlaskForm):
...
    linkto = SelectField('Link to:', validators=[Optional()], choices=[])
...