编程语言
首页 > 编程语言> > python – 如何使用HiddenField强制WTForms中的整数数据?

python – 如何使用HiddenField强制WTForms中的整数数据?

作者:互联网

我有一个像这样的WTForm类:

class MyForm(Form):
    field1 = HiddenField(default=0, validators=NumberRange(min=0, max=20)])

将此标记视为由WTForms呈现

<input type='hidden' name='field1' value='5'></input>

这不会通过NumberRange验证.这是因为HiddenFields小部件类将value属性强制转换为字符串.如何让WTForms生成此标记,以便我可以在后续POST中执行数字验证?

解决方法:

建议的技巧是使用IntegerField并将窗口小部件更改为HiddenInput

class MyForm(Form):
    field1 = IntegerField(widget=HiddenInput())

你也可以继承

class HiddenInteger(IntegerField):
    widget = HiddenInput()

标签:flask-wtforms,wtforms,python
来源: https://codeday.me/bug/20190725/1530678.html