使用 flask wtforms 提交时验证 get
Validate get when submitting with flask wtforms
我有一个带有验证的表单,例如 required()
或 NumberRange
。
这是一个搜索功能,所以我使用的是 get 方法。问题是我不能将 form.validate_on_submit()
与 get 一起使用。使用 post
一切都按预期工作,但是使用 get
表单忽略验证,基本上从不在提交时验证。
处理这种情况的最佳方法是什么?
class DocSearch(Form):
client_number = IntegerField(lazy_gettext(u'Client number'), [Required()])
submit = SubmitField(lazy_gettext(u'Find'))
<form method="get" class="form" role="form">
<div class="form-group ">
{{ render_field(form.client_number) }}
</div>
<div class="form-group ">
{{ render_field(form.submit) }}
</div>
</form>
validate_on_submit
是调用其他两个方法的便利函数。第一个 is_submitted
检查 POST 和 PUT 请求。第二个 validate
进行实际验证。这就是你需要的。
if form.validate():
# do stuff here
我有一个带有验证的表单,例如 required()
或 NumberRange
。
这是一个搜索功能,所以我使用的是 get 方法。问题是我不能将 form.validate_on_submit()
与 get 一起使用。使用 post
一切都按预期工作,但是使用 get
表单忽略验证,基本上从不在提交时验证。
处理这种情况的最佳方法是什么?
class DocSearch(Form):
client_number = IntegerField(lazy_gettext(u'Client number'), [Required()])
submit = SubmitField(lazy_gettext(u'Find'))
<form method="get" class="form" role="form">
<div class="form-group ">
{{ render_field(form.client_number) }}
</div>
<div class="form-group ">
{{ render_field(form.submit) }}
</div>
</form>
validate_on_submit
是调用其他两个方法的便利函数。第一个 is_submitted
检查 POST 和 PUT 请求。第二个 validate
进行实际验证。这就是你需要的。
if form.validate():
# do stuff here