如何解决WTFforms:如何避免NumberRange验证程序中的OverflowError对于大整数?
我正在编写 Flask Web应用程序,并且我在表单中使用 WTForms 。 输入之一是IntegerField
field = IntegerField('Field',validators=[InputRequired(),NumberRange(min=0,max=100)])
由于我使用的是验证器NumberRange(min=0,max=100)
,因此我正确地拒绝了像10090
这样的输入,但是当插入太大的输入时,例如:
99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
我收到以下错误:
OverflowError: int too large to convert to float
我该如何解决?
解决方法
wtforms
无法解决此问题,因此您必须:
try:
field = IntegerField('Field',validators=[InputRequired(),NumberRange(min=0,max=100)])
except OverflowError as e:
raise Exception(e.args[0]) # Or better yet - use the actuall exception thrown when the input is 101
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。