在使用Flask的Wtforms时利用了以下代码来建立表单。
class AnalysisForm(FlaskForm): addhops = IntegerField(u'hop', default = 0, validators=[NumberRange(min=0, message='Please input an number'), DataRequired(message= u'Can not be empty')])
在实际使用中发现当输入为0时,无法通过表单验证。
即“0”无法通过DataRequired的验证。
该问题疑似wtforms的bug,参照以下。
https://github.com/wtforms/wtforms/issues/100
通过使用InputRequired替换DataRequired在我的环境中可以解决该问题。
InputRequired与DataRequired的区别请参照
http://stackoverflow.com/questions/23982917/flask-wtforms-difference-between-datarequired-and-inputrequired