type
status
date
slug
summary
tags
category
icon
password
前言
最近折腾起来Flask,在使用WTForm的时候遇到了一点小问题。
当提交表单时,SelectField项提示错误Not a vaild choice.
正文
此时表单代码为:
表面看上去没有问题,正常使用理应不会出错,但表单提交之后却出现 (Not a vaild choice).
这是因为html里所有的表单数据都是字符串类型,当选项中的 1 提交之后变成了 ‘1’ ,而 ‘1’ 并不在choices之内,导致出错。
解决方案
给SelectField添加coerce项,当执行validate_on_submit进行验证时,会进行强制转型再验证。