NumberRange 验证器不适用于负数
NumberRange validator not working for negative numbers
我在 python 中创建了一个名为 EntryForm 的 class 并希望验证某人收入的输入是否为大于 0 的数字,并且我正在使用 Flask-wtf / wtforms 进行验证.当我使用下面的代码时,InputRequired() 按预期工作,但 NumberRange 没有。负数或非数字输入不会导致错误。
class EntryForm(FlaskForm):
income = IntegerField('Income', validators=[InputRequired(), NumberRange(min=0, message='Must enter a number greater than 0')])
这里是调用class
form = EntryForm()
if form.is_submitted():
data = request.form
user_income = int(data.get('income'))
This is the html portion
<form action="/" method="POST">
<p>
{{form.hidden_tag() }}
{{form.income.label}}
{{form.income(size=20)}}
{% for error in form.income.errors %}
{{error}}
{% endfor %}
您应该调用 validate_on_submit
而不是 is_submitted
form = EntryForm()
if form.validate_on_submit():
data = request.form
user_income = int(data.get('income'))
...
return
return render('your_template_name.html', form=form)
我在 python 中创建了一个名为 EntryForm 的 class 并希望验证某人收入的输入是否为大于 0 的数字,并且我正在使用 Flask-wtf / wtforms 进行验证.当我使用下面的代码时,InputRequired() 按预期工作,但 NumberRange 没有。负数或非数字输入不会导致错误。
class EntryForm(FlaskForm):
income = IntegerField('Income', validators=[InputRequired(), NumberRange(min=0, message='Must enter a number greater than 0')])
这里是调用class
form = EntryForm()
if form.is_submitted():
data = request.form
user_income = int(data.get('income'))
This is the html portion
<form action="/" method="POST">
<p>
{{form.hidden_tag() }}
{{form.income.label}}
{{form.income(size=20)}}
{% for error in form.income.errors %}
{{error}}
{% endfor %}
您应该调用 validate_on_submit
而不是 is_submitted
form = EntryForm()
if form.validate_on_submit():
data = request.form
user_income = int(data.get('income'))
...
return
return render('your_template_name.html', form=form)