Roy*_*lTS 3 python wtforms flask-wtforms
我有一个WTForm这样的课:
class MyForm(Form):
field1 = HiddenField(default=0, validators=NumberRange(min=0, max=20)])
Run Code Online (Sandbox Code Playgroud)
将此标记视为由.呈现 WTForms
<input type='hidden' name='field1' value='5'></input>
Run Code Online (Sandbox Code Playgroud)
这不通过NumberRange验证.这是因为HiddenFields widget类将该value属性强制转换为字符串.如何WTForms生成此标记,以便我可以在后续执行数字验证POST?
nsf*_*n55 14
推荐的技巧是使用an IntegerField并将小部件更改为aHiddenInput
class MyForm(Form):
field1 = IntegerField(widget=HiddenInput())
Run Code Online (Sandbox Code Playgroud)
你也可以继承
class HiddenInteger(IntegerField):
widget = HiddenInput()
Run Code Online (Sandbox Code Playgroud)