Reputation: 134
I have problem with setup price field. I wanna make field only with numbers, but i can write in him symbols like "dsajdaslkdja". My code
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField, TextAreaField, IntegerField, validators, RegularExpression
from wtforms.validators import DataRequired
class PostForm(FlaskForm):
title = StringField('Title', validators=[DataRequired()])
content = TextAreaField('Content', validators=[DataRequired()])
price = IntegerField('Price', [validators.NumberRange(min=0, max=10000)] )
submit = SubmitField('Post')
my form
</div>
<div class="form-group">
{{ form.price.label(class="form-number-label") }}
{% if form.price.errors %}
{{ form.price(class="form-number form-number-lg is-invalid") }}
<div class="invalid-feedback">
{% for error in form.price.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.price(class="form-number form-control-lg") }}
{% endif %}
</div>
Upvotes: 0
Views: 373
Reputation: 11360
Try:
from wtforms.widgets.html5 import NumberInput
price = IntegerField('Price',[validators.NumberRange(min=0, max=10000)], widget=NumberInput())
Upvotes: 1